diff options
author | Alex Olson <alex.olson+yocto@gmail.com> | 2013-06-25 15:10:48 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-07-09 10:53:56 +0100 |
commit | 9cdb9ef7bdfd2f2811d20ff62c34282305ec358a (patch) | |
tree | b3618fbd738295f15b157833ff6e884937d315fb /meta | |
parent | b5fccff7ab51eff1600bd1514337e43e5da673dc (diff) | |
download | poky-9cdb9ef7bdfd2f2811d20ff62c34282305ec358a.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 master rev: 31ab19ab69bc6504df01cac7ee0670ca78d247ab)
(From OE-Core rev: dba106b4fc1579185498b85f6e1ade494fcc588e)
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>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-core/udev/udev/init | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/meta/recipes-core/udev/udev/init b/meta/recipes-core/udev/udev/init index cd87f50832..10f9d1a25e 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 |