From f2ce905a92a2b5ff0a434249dc8468e3ee36aa63 Mon Sep 17 00:00:00 2001 From: Johan Hovold Date: Tue, 18 Dec 2012 18:46:19 +0100 Subject: udev: fix failed /dev/shm mount Since commit commit fbec192f6bc4 ("udev: Ensure tmpfs are mounted and volatile/run exists") all tmpfs-entries in fstab are mounted before udev starts using mount -a. If /dev/shm is among those entries, that mount will fail as the mount point has not yet been created: Starting udev mount: mounting tmpfs on /dev/shm failed: No such file or directory udevd[474]: starting version 182 Fix by restoring the old way of mounting /dev and mounting the remaining tmpfs-entries only after /dev/shm has been created. Also make sure that any errors are supressed for these tmpfs-mounts. Should any mount point not yet be present, that mount will be retried later during the boot process. Signed-off-by: Johan Hovold Signed-off-by: Saul Wold --- meta/recipes-core/udev/udev/init | 7 +++++-- meta/recipes-core/udev/udev_182.bb | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'meta/recipes-core/udev') diff --git a/meta/recipes-core/udev/udev/init b/meta/recipes-core/udev/udev/init index 74449feaaa..1934d11e49 100644 --- a/meta/recipes-core/udev/udev/init +++ b/meta/recipes-core/udev/udev/init @@ -37,10 +37,13 @@ export ACTION=add echo "Starting udev" # mount the tmpfs on /dev, if not already done -mount -a -t tmpfs -mkdir -p /var/volatile/run +LANG=C awk '$2 == "/dev" && ($3 == "tmpfs" || $3 == "devtmpfs") { exit 1 }' /proc/mounts && { + mount -n -o mode=0755 -t tmpfs none "/dev" +} [ -e /dev/pts ] || mkdir -m 0755 /dev/pts [ -e /dev/shm ] || mkdir -m 1777 /dev/shm +mount -a -t tmpfs 2>/dev/null +mkdir -p /var/volatile/run # cache handling if [ "$DEVCACHE" != "" ]; then diff --git a/meta/recipes-core/udev/udev_182.bb b/meta/recipes-core/udev/udev_182.bb index c41de9fef4..0ae9f8c6b6 100644 --- a/meta/recipes-core/udev/udev_182.bb +++ b/meta/recipes-core/udev/udev_182.bb @@ -1,6 +1,6 @@ include udev.inc -PR = "r2" +PR = "r3" # module-init-tools from kmod_git will provide libkmod runtime DEPENDS += "module-init-tools" -- cgit 1.2.3-korg