init-live.sh: add 'coldplug' udev trigger

Fixes [BUGID #693]

The init-live.sh script starts udevd in init-live.sh:early_setup(),
but doesn't account for the possibility that the root device may have
already been registered by the kernel before udevd starts up.

If the device is detected after udevd starts up, everything's fine -
udevd gets the 'add' uevent for the device, the root image shows up at
e.g. /media/sda/rootfs.img, and the boot continues.

If however the device is detected before udevd starts up, udevd misses
the 'add' uevent and the root image never shows up, causing it to stay
in the 'waiting for removable media' loop forever.

The 'udevadm trigger' command is meant to be used to avoid this
situation, but init-live.sh doesn't use it.  Furthermore, since the
default was changed in udev 152 from 'add' to 'change', the command
needs to explicity name 'add' as the action.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
This commit is contained in:
Tom Zanussi 2011-02-07 13:45:45 -06:00 committed by Richard Purdie
parent 36efa8933d
commit 6ec0e55375
1 changed files with 1 additions and 0 deletions

View File

@ -11,6 +11,7 @@ early_setup() {
mount -t proc proc /proc
mount -t sysfs sysfs /sys
udevd --daemon
/sbin/udevadm trigger --action=add
}
read_args() {