Skip to contentSkip to conversation

Fix for endless 'waiting for removable media' problem (for laverne-4.0.1)

PATCH New Tom Zanussi 1 participant 2 messages Feb 9, 2011

lore
Share & tools
lore
#0 lore raw

cover Fix for endless 'waiting for removable media' problem (for laverne-4.0.1)

From: Tom Zanussi <[email protected]>

Same as before, but specific pull request for laverne-4.0.1...

This patch should fix the endless 'waiting for removable media' error that sometimes happens when trying to boot off 'live images'.

For some reason, we started seeing this more often than usual recently with the crown bay, but I've seen it randomly occur on other machines, and I remember we ran into it in the past when setting up the Cambridge demo, and I've seen other people report it sporadically as well...

Hopefully this will fix the problem once and for all.

Please pull and apply to laverne-4.0.1.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: tzanussi/init-live-udev-fix-laverne-4.0.1
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=tzanussi/init-live-udev-fix-laverne-4.0.1

Thanks,
Tom Zanussi <[email protected]>
---

Tom Zanussi (1):
init-live.sh: add 'coldplug' udev trigger

 meta/recipes-core/initrdscripts/files/init-live.sh |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
#1 lore raw

PATCH 1/1 init-live.sh: add 'coldplug' udev trigger

From: Tom Zanussi <[email protected]>

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.

---
 meta/recipes-core/initrdscripts/files/init-live.sh |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
meta/recipes-core/initrdscripts/files/init-live.sh +1 -0
index c96b1f4..f3e5145 100644
@@ -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() {
Signature · 1 line
1.7.0.4