Package: udev
Version: 208-7
Severity: important

After upgrading to a 3.16 kernel, I noticed X wasn't detecting mouse
and keyboard any more.

After way more wild goose chasing than you want to hear about, this
turned out to be due to /dev/input/event* not being created, which was
due to devtmpfs not being mounted on /dev.

I had enough devices there to manage a normal-looking boot, but
X's AutoAddDevices wasn't working.

Anyway, this was due to my disabling the new 3.16 config option
CONFIG_UEVENT_HELPER, as the kernel documentation said it was obsolete
and I don't even have an /sbin/hotplug binary.

But!  Line 176 of /etc/init.d/udev contains the command:

    echo > /sys/kernel/uevent_helper

which is supposed to disable that helper.  But if the file doesn't exist,
the fact that we're running with -e (errors are fatal) means that the
script aborts and most of the udev startup doesn't happen.

I fixed it with
--- udev.dpkg-dist      2014-08-17 04:28:56.570734578 +0000
+++ udev        2014-08-17 04:23:00.298853946 +0000
@@ -173,7 +173,7 @@
        warn_if_interactive
     fi
 
-    echo > /sys/kernel/uevent_helper
+    ! > /sys/kernel/uevent_helper
 
     move_udev_database
 
... but alternatives that don't depend on /sys/kernel being unwriteable
by root are possible, like

+    test -f /sys/kernel/uevent_helper && > /sys/kernel/uevent_helper

(Redirect with no command produces a 0-byte O_TRUNC write, which is
just as good as the single newline that echo produces.  And prepending
! to invert the return code also disables errexit for that command.)

Of course, after fixing this, I first tried "/etc/init.d/udev restart",
and when that didn't do enough work, tried "/etc/init.d/udev stop;
/etc/init.d udev start" but then had to find mountdevsubfs.sh to get
/dev/pts back.

Anyway, the whole thing is working now.


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

Reply via email to