# genkernel and udev issues (using initrd)

## Eisbaer

Hi everyone,

i recently upgraded my baselayout to version 2.0 during a world-update.

everything worked fine with 2.6.24-gentoo-r4, but when i tried to update my kernel to 2.6.25-gentoo-r1 using genkernel i'm getting error-messages during the boot-process.

when i'm supposed to enter my luks-passphrase it just says

 *Quote:*   

> sh: /sbin/udevsettle NOT FOUND

 

everytime i push a button on my keyboard.

A warning notice after a udev-merge said that users with initrds have to include /sbin/udevadm because /sbin/udevsettle and some other udev*-files have become symlinks to udevadm.

how am i supposed to include these files in to my initrd through genkernel?

i'm using ~x86 btw.

----------

## jcat

I'm guessing that you may have to file a bug to get Genkernel updated to allow this to happen.

Although someone may correct me here and tell me there is a way.

Cheers,

jcat

----------

## LesCoke

I'm running gentoo-sources-2.6.23-r9 with cryptsetup-1.06 (~x86) using genkernel to create my initrd.  I'm also seeing the /sbin/udevsettle not found errors after entering my pass-phrase.

I initially upgraded from cryptsetup-1.05-r1 because i was seeing problems where cryptsetup and fsck were attempting to run on evms / device-mapper nodes that were still in the process of being created and my system would fail to boot requiring me to manually mount the filesystems that failed to load.

cryptsetup-1.06 seemed to solve the race condition, but I was now seeing the /sbin/udevsettle not found errors.

I googled for a solution, and none were obvious.  I did find mention that the likely cause was that udevsettle was now a symlink to udevadm, and that genkernel failed to include that file.  After searching for a way to have genkernel add the file automagically, I opted to extract my initrd contents and add the missing file(s).

I found that none of the initrd scripts were directly invoking udevsettle, and that it also wasn't present.  After grepping all files for an occurence of udevsettle I finally found that it only appeared within the sbin/cryptsetup binary.

I added /sbin/udevadm and created symbolic links to udevadm for udevcontrol, udevsettle, and udevtrigger.   I cpio and gzipped my initrd image and found I was now getting a missing /etc/udev/udev.conf error after entering my luks pass-phrase.

I examined my /etc/udev/udev.conf and found that it did not contain anything specific to my setup, so I turned another initrd with a copy of it included.  That resolved the new missing file message problem.

Les

----------

