summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Olson <alex.olson+yocto@gmail.com>2013-06-25 15:10:48 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-28 09:14:05 +0100
commitd85a997f2c0909788712b9985f5fb93dce880270 (patch)
tree6b9f9da81b9d4695bd93bed46e559a186612ef0a
parentb74e632c61327b898b3b9c970cd502eb9e7e264c (diff)
downloadpoky-d85a997f2c0909788712b9985f5fb93dce880270.tar.gz
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 <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/udev/udev/init6
1 files changed, 3 insertions, 3 deletions
diff --git a/meta/recipes-core/udev/udev/init b/meta/recipes-core/udev/udev/init
index 9b81700ba2..426e4dbb19 100644
--- a/meta/recipes-core/udev/udev/init
+++ b/meta/recipes-core/udev/udev/init
@@ -43,9 +43,9 @@ case "$1" in
43 echo "Halting..." 43 echo "Halting..."
44 halt 44 halt
45 fi 45 fi
46 # mount the tmpfs on /dev, if not already done 46 # mount the devtmpfs on /dev, if not already done
47 LANG=C awk '$2 == "/dev" && ($3 == "tmpfs" || $3 == "devtmpfs") { exit 1 }' /proc/mounts && { 47 LANG=C awk '$2 == "/dev" && ($3 == "devtmpfs") { exit 1 }' /proc/mounts && {
48 mount -n -o mode=0755 -t tmpfs none "/dev" 48 mount -n -o mode=0755 -t devtmpfs none "/dev"
49 } 49 }
50 [ -e /dev/pts ] || mkdir -m 0755 /dev/pts 50 [ -e /dev/pts ] || mkdir -m 0755 /dev/pts
51 [ -e /dev/shm ] || mkdir -m 1777 /dev/shm 51 [ -e /dev/shm ] || mkdir -m 1777 /dev/shm