diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2013-06-18 20:14:14 +0800 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2013-06-27 09:49:14 -0700 |
commit | 2f209a7045a93e7e42f90418a42f464827b4a7f8 (patch) | |
tree | 3f0c6da85111c4e8121c0a76eadcbebefe35cb85 /meta/recipes-core/initrdscripts | |
parent | 099063f353a7a18720c92d87400726a49eed432f (diff) | |
download | openembedded-core-contrib-2f209a7045a93e7e42f90418a42f464827b4a7f8.tar.gz |
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/initrdscripts')
-rw-r--r-- | meta/recipes-core/initrdscripts/files/init-live.sh | 4 |
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 804e16ec6f8..82042bf2ee4 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. |