]> code.ossystems Code Review - openembedded-core.git/commitdiff
udev: fix failed /dev/shm mount
authorJohan Hovold <johan.hovold@lundinova.se>
Tue, 18 Dec 2012 17:46:19 +0000 (18:46 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 19 Dec 2012 17:50:02 +0000 (17:50 +0000)
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 <johan.hovold@lundinova.se>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
meta/recipes-core/udev/udev/init
meta/recipes-core/udev/udev_182.bb

index 74449feaaad262fc88ce7b762bc8397e7643d802..1934d11e49f7754f4d9a91193b07dc7f25edf7a9 100644 (file)
@@ -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
index c41de9fef45f76f2ca456fad17eef2a52618ba93..0ae9f8c6b6c7cb0b47317e514f3a573772f2ec81 100644 (file)
@@ -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"