[OE-core] [PATCH] udev - only use devtmpfs for udev
Alex Olson
alex.olson+yocto at gmail.com
Tue Jun 25 20:10:48 UTC 2013
udev - only use devtmpfs for udev
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.
Signed-off-by: Alex Olson <alex.olson+yocto at gmail.com>
--- a/meta/recipes-core/udev/udev/init 2013-05-18 14:38:09.000000000 -0500
+++ b/meta/recipes-core/udev/udev/init 2013-06-25 14:21:15.859918023 -0500
@@ -44,8 +44,8 @@
halt
fi
# 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"
+ 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-core
mailing list