Control: tags 722604 + patch

udev 204-3 will work, with a hand-rolled kernel and no initramfs,
if you do the following:

1. Enable CONFIG_DEVTMPFS=y.  DEVTMPFS_MOUNT is not required.
2. Apply the following patch to /etc/init.d/udev.

There are five parts to this patch:

1. Add the quotes to `mount -n -o "$dev_mount_options"` so that an empty
   $dev_mount_options string will not produce a syntax error.
2. Change from mounting tmpfs on /dev to devtmpfs
3. Check for the existence of devtmpfs in /proc/filesystems
4. Update error messages to reflect devtmpfs
5. Update comments and rename the "mount_tmpfs" shell function to
   "mount_devtmpfs" to reflect the preceding change.  This part is
   purely cosmetic.

--- /etc/init.d/udev.dpkg-dist  2013-09-17 18:42:58.000000000 -0400
+++ /etc/init.d/udev    2013-09-17 18:58:50.000000000 -0400
@@ -8,7 +8,7 @@
 # Short-Description: Start udevd, populate /dev and load drivers.
 ### END INIT INFO
 
-# we need to unmount /dev/pts/ and remount it later over the tmpfs
+# we need to unmount /dev/pts/ and remount it later over the devtmpfs
 unmount_devpts() {
   if mountpoint -q /dev/pts/; then
     umount -n -l /dev/pts/
@@ -19,15 +19,15 @@
   fi
 }
 
-# mount a tmpfs over /dev, if somebody did not already do it
-mount_tmpfs() {
+# mount a devtmpfs over /dev, if somebody did not already do it
+mount_devtmpfs() {
   if grep -E -q "^[^[:space:]]+ /dev (dev)?tmpfs" /proc/mounts; then
-    mount -n -o remount,${dev_mount_options} -t tmpfs tmpfs /dev
+    mount -n -o remount,${dev_mount_options} -t devtmpfs devtmpfs /dev
     return
   fi
 
-  if ! mount -n -o $dev_mount_options -t devtmpfs devtmpfs /dev; then
-    log_failure_msg "udev requires tmpfs support, not started"
+  if ! mount -n -o "$dev_mount_options" -t devtmpfs devtmpfs /dev; then
+    log_failure_msg "udev requires devtmpfs support, not started"
     log_end_msg 1
   fi
 
@@ -113,8 +113,8 @@
   log_end_msg 1
 fi
 
-if ! grep -q '[[:space:]]tmpfs$' /proc/filesystems; then
-  log_failure_msg "udev requires tmpfs support, not started"
+if ! grep -q '[[:space:]]devtmpfs$' /proc/filesystems; then
+  log_failure_msg "udev requires devtmpfs support, not started"
   log_end_msg 1
 fi
 
@@ -165,7 +165,7 @@
 
     if [ -z "$TMPFS_MOUNTED" ]; then
        unmount_devpts
-       mount_tmpfs
+       mount_devtmpfs
        [ -d /proc/1 ] || mount -n /proc
     fi
 

More changes would be desirable, such as actually using the $tmpfs_size
variable, using $udev_root consistently, etc.

I'd also really appreciate more details in the error message about
running /etc/init.d/udev from a tty explaining exactly what will
happen instead of what I expect.

I also wonder if the test on that warn_if_interactive is correct.
It skips the test if /dev/.udev exists or if /run/udev exists.
Isn't that exactly the case that udev is already running, when you
*do* want the test?  And skip it if udev *isn't* running?

-    if [ ! -e "$udev_root/.udev/" -a ! -e "/run/udev/" ]; then
+    if [ -d "$udev_root/.udev/" -o -d /run/udev/ ]; then


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to