[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RFC: Event based initramfs


a short while ago we had a lively discussion about the problems in
initramfs with devices apearing too late (especially USB devices) or
crypto/md/lvm/multipath devices being stacked in a way the initramfs
scripts wouldn't handle.

A simple solution for this problem is to use udev to watch out for new
block devices apearing and creating a trigger file and to watch for the
trigger file in the init script in a simple busy loop. Then whenever new
block devices appear the crypto/md/lvm/multipath scripts are run again
to configure the new devices. Since that can create new block devices
the init script loops until the devices for $ROOT and $resume appear or
a timeout is reached (20s without a new block device appearing).

A patch implementing this simple solution is now available in the BTS
(#678696). If you had to configure rootdelay= in the past or generally
have a non-trivial device setup please do test this patch.

You can also try to install a new system with some insane stackings of
the 4 components, e.g. lvm on raid on lvm on raid, and then try if a
patched initramfs can boot it.


PS: don't forget to include the scripts/local-block/* sniplets from the
bugreport till the respective packages themself provide scripts.

Reply to: