]> code.ossystems Code Review - openembedded-core.git/commitdiff
init-live.sh: add 'coldplug' udev trigger
authorTom Zanussi <tom.zanussi@intel.com>
Mon, 7 Feb 2011 19:45:45 +0000 (13:45 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 7 Feb 2011 21:53:42 +0000 (21:53 +0000)
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>
meta/recipes-core/initrdscripts/files/init-live.sh

index c96b1f47c31b6654e6566c120f4b34991c471930..f3e514544fcf565b6001779a15f0684972a81eec 100644 (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() {