summaryrefslogtreecommitdiff
path: root/meta/recipes-core
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2013-06-18 20:14:14 +0800
committerSaul Wold <sgw@linux.intel.com>2013-06-27 09:49:14 -0700
commit2f209a7045a93e7e42f90418a42f464827b4a7f8 (patch)
tree3f0c6da85111c4e8121c0a76eadcbebefe35cb85 /meta/recipes-core
parent099063f353a7a18720c92d87400726a49eed432f (diff)
downloadopenembedded-core-2f209a7045a93e7e42f90418a42f464827b4a7f8.tar.gz
openembedded-core-2f209a7045a93e7e42f90418a42f464827b4a7f8.tar.bz2
openembedded-core-2f209a7045a93e7e42f90418a42f464827b4a7f8.zip
init-live.sh: fix automount failed occasionally
Reboot system repeatedly, occasionally found usb automount failed, a low probability but it happens. $ df Filesystem 1K-blocks Used Available Use% Mounted on none 1024972 4 1024968 0% /dev /dev/sda3 7689384 3540940 3757840 49% /media/sda3 /dev/sda2 146127424 1238432 137466120 1% /media/sda2 /dev/sda1 17845 14570 2354 86% /media/sda1 /dev/sdb 293400 288560 4840 98% /media/sdb /dev/sdc4 457632 32 457600 0% /media/sdc4 /dev/sdc1 475018 2321 447749 1% /media/sdc1 /dev/sdd 1382298 1382298 0 100% /media/sdd /dev/sdc2 475694 2320 448374 1% /media/sdc2 /dev/loop0 270649 181249 75644 71% / df: /media/sdc3: No such file or directory tmpfs 1029352 0 1029352 0% /dev/shm tmpfs 1029352 2816 1026536 0% /run tmpfs 1029352 0 1029352 0% /sys/fs/cgroup tmpfs 1029352 4 1029348 0% /tmp tmpfs 1029352 0 1029352 0% /media/ram tmpfs 1029352 116 1029236 0% /var/volatile When boot media has been found, udev will be killed. If udev is busy to mount other medias at the killing time (especially medias is many), the above issue will occur occasionally. Invoke `udevadm settle' before killing udev will resolve this issue, it watches the udev event queue, and exits if all current events are handled. Use variable `_UDEV_DAEMON' to replace hardcoded `udevd' to keep consistent with previous. [YOCTO #4745] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r--meta/recipes-core/initrdscripts/files/init-live.sh4
1 files changed, 3 insertions, 1 deletions
diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh
index 804e16ec6f..82042bf2ee 100644
--- a/meta/recipes-core/initrdscripts/files/init-live.sh
+++ b/meta/recipes-core/initrdscripts/files/init-live.sh
@@ -75,7 +75,9 @@ read_args() {
}
boot_live_root() {
- killall udevd 2>/dev/null
+ # Watches the udev event queue, and exits if all current events are handled
+ udevadm settle --timeout=3 --quiet
+ killall "${_UDEV_DAEMON##*/}" 2>/dev/null
# Move the mount points of some filesystems over to
# the corresponding directories under the real root filesystem.