diff options
author | Saul Wold <sgw@linux.intel.com> | 2013-06-25 15:14:48 -0700 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2013-07-08 16:28:29 +0100 |
commit | 20b50e8d99fa58818a23d3e82411ac1691e6552d (patch) | |
tree | 3c36d74c10286c7c5b350b286762af488e88f6ad | |
parent | dfca7cac51459764e12f08b7be0ced59ac4544c1 (diff) | |
download | openembedded-core-20b50e8d99fa58818a23d3e82411ac1691e6552d.tar.gz openembedded-core-20b50e8d99fa58818a23d3e82411ac1691e6552d.tar.bz2 openembedded-core-20b50e8d99fa58818a23d3e82411ac1691e6552d.zip |
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@gmail.com>
[YOCTO #4632]
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | 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 971e4e9cd2..22997fc864 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 |