From: Alex Olson Date: Tue, 25 Jun 2013 20:10:48 +0000 (-0500) Subject: udev: only use devtmpfs for udev X-Git-Tag: rev_ivi_2015_02_04~11995 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5b7cec51403bcebba0440a20de1cbbad00176eda;p=scm%2Fbb%2Ftizen-distro.git 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. (From OE-Core rev: 31ab19ab69bc6504df01cac7ee0670ca78d247ab) Signed-off-by: Alex Olson [YOCTO #4632] Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-core/udev/udev/init b/meta/recipes-core/udev/udev/init index 9b81700..426e4db 100644 --- a/meta/recipes-core/udev/udev/init +++ b/meta/recipes-core/udev/udev/init @@ -43,9 +43,9 @@ case "$1" in echo "Halting..." 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" + # 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