[oe-commits] Saul Wold : systemd: Ensure that we mount devtmpfs

git at git.openembedded.org git at git.openembedded.org
Tue Jul 9 09:45:59 UTC 2013


Module: openembedded-core.git
Branch: dylan
Commit: 20b50e8d99fa58818a23d3e82411ac1691e6552d
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=20b50e8d99fa58818a23d3e82411ac1691e6552d

Author: Saul Wold <sgw at linux.intel.com>
Date:   Tue Jun 25 15:14:48 2013 -0700

systemd: Ensure that we mount devtmpfs

Since systemd also used tmpfs we should make a similar patch for
the systemd-udev script

Fix for bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=4632
Since udev 172, the 'mknod' logic was removed from udev. Yocto Dylan
is now using udev 182. This means /dev is now required to be a
devtmpfs filesystem (maintained by the kernel).    If the root
filesystem is a ramdisk,  the kernel's auto-mount of /dev doesn't
activate since there is no rootfs to actually mount...  The bug causes
an unusable system as /dev doesn't contain even basic nodes required
to even get a login prompt.

The Yocto  udev/init script mounts tmpfs if it does not detect tmpfs
or devtmpfs mounted at /dev.  This appears to be  outdated logic that
is no longer correct. I believe the Yocto udev init script should be
checking and mounting only 'devtmpfs' on dev.

(From OE-Core master rev: d3616f31617830cac9375e8f4aa33e344ac554ed)

Signed-off-by: Alex Olson <alex.olson+yocto at gmail.com>

[YOCTO #4632]

Signed-off-by: Saul Wold <sgw at linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 meta/recipes-core/systemd/systemd/init |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-core/systemd/systemd/init b/meta/recipes-core/systemd/systemd/init
index 971e4e9..22997fc 100644
--- a/meta/recipes-core/systemd/systemd/init
+++ b/meta/recipes-core/systemd/systemd/init
@@ -35,9 +35,9 @@ case "$1" in
     # propagate /dev from /sys
     echo "Starting udev"
 
-    # mount the tmpfs on /dev, if not already done
-    LANG=C awk '$2 == "/dev" && ($3 == "tmpfs" || $3 == "devtmpfs") { exit 1 }' /proc/mounts && {
-            mount -n -o mode=0755 -t tmpfs none "/dev"
+    # mount the devtmpfs on /dev, if not already done
+    LANG=C awk '$2 == "/dev" && ($3 == "devtmpfs") { exit 1 }' /proc/mounts && {
+            mount -n -o mode=0755 -t devtmpfs none "/dev"
     }
     [ -e /dev/pts ] || mkdir -m 0755 /dev/pts
     [ -e /dev/shm ] || mkdir -m 1777 /dev/shm



More information about the Openembedded-commits mailing list