Sunday, May 11, 2008

Hardy initrd breaks luks with "/sbin/udevsettle" not found

The initrd in hardy broke luks cryptoroot, because the cryptroot script refers to udevsettle, which has been replaced with udevadm. It dies with "/sbin/udevsettle" not found. Here's how you fix it.

Unzip, and unpack the initrd:

gunzip -S "" initrd.img-2.6.24-16-generic
cpio -id < initrd.img-2.6.24-16-generic
vi scripts/local-top/cryptroot

Replace "/sbin/udevsettle --timeout=30" with "/sbin/udevadm settle --timeout=30". Repack the initrd:

find ./ | cpio -H newc -o > initrd.cpio
gzip initrd.cpio

No comments: