--- /dev/null
+drwxr-xr-x root/root etc/
+drwxr-xr-x root/root etc/udev/
+drwxr-xr-x root/root etc/udev/rules.d/
+-rw-r--r-- root/root etc/udev/udev.conf
+drwxr-xr-x root/root lib/
+drwxr-xr-x root/root lib/firmware/
+lrwxrwxrwx root/root lib/libudev.so.0 -> libudev.so.0.13.1
+-rwxr-xr-x root/root lib/libudev.so.0.13.1
+drwxr-xr-x root/root lib/udev/
+-rwxr-xr-x root/root lib/udev/accelerometer
+-rwxr-xr-x root/root lib/udev/ata_id
+-rwxr-xr-x root/root lib/udev/cdrom_id
+-rwxr-xr-x root/root lib/udev/collect
+drwxr-xr-x root/root lib/udev/devices/
+drwxr-xr-x root/root lib/udev/devices/pts/
+drwxr-xr-x root/root lib/udev/devices/shm/
+-rwxr-xr-x root/root lib/udev/mtd_probe
+-rw-r--r-- root/root lib/udev/rule_generator.functions
+drwxr-xr-x root/root lib/udev/rules.d/
+-rw-r--r-- root/root lib/udev/rules.d/42-usb-hid-pm.rules
+-rw-r--r-- root/root lib/udev/rules.d/50-udev-default.rules
+-rw-r--r-- root/root lib/udev/rules.d/60-cdrom_id.rules
+-rw-r--r-- root/root lib/udev/rules.d/60-persistent-alsa.rules
+-rw-r--r-- root/root lib/udev/rules.d/60-persistent-input.rules
+-rw-r--r-- root/root lib/udev/rules.d/60-persistent-serial.rules
+-rw-r--r-- root/root lib/udev/rules.d/60-persistent-storage-tape.rules
+-rw-r--r-- root/root lib/udev/rules.d/60-persistent-storage.rules
+-rw-r--r-- root/root lib/udev/rules.d/60-persistent-v4l.rules
+-rw-r--r-- root/root lib/udev/rules.d/61-accelerometer.rules
+-rw-r--r-- root/root lib/udev/rules.d/75-cd-aliases-generator.rules
+-rw-r--r-- root/root lib/udev/rules.d/75-net-description.rules
+-rw-r--r-- root/root lib/udev/rules.d/75-persistent-net-generator.rules
+-rw-r--r-- root/root lib/udev/rules.d/75-probe_mtd.rules
+-rw-r--r-- root/root lib/udev/rules.d/75-tty-description.rules
+-rw-r--r-- root/root lib/udev/rules.d/78-sound-card.rules
+-rw-r--r-- root/root lib/udev/rules.d/80-drivers.rules
+-rw-r--r-- root/root lib/udev/rules.d/81-crux.rules
+-rw-r--r-- root/root lib/udev/rules.d/95-udev-late.rules
+-rwxr-xr-x root/root lib/udev/scsi_id
+-rwxr-xr-x root/root lib/udev/udevd
+-rwxr-xr-x root/root lib/udev/v4l_id
+-rwxr-xr-x root/root lib/udev/write_cd_rules
+-rwxr-xr-x root/root lib/udev/write_net_rules
+drwxr-xr-x root/root run/
+drwxr-xr-x root/root sbin/
+-rwxr-xr-x root/root sbin/start_udev
+-rwxr-xr-x root/root sbin/udevadm
+lrwxrwxrwx root/root sbin/udevd -> ../lib/udev/udevd
+drwxr-xr-x root/root usr/
+drwxr-xr-x root/root usr/include/
+-rw-r--r-- root/root usr/include/libudev.h
+drwxr-xr-x root/root usr/lib/
+-rw-r--r-- root/root usr/lib/libudev.a
+-rwxr-xr-x root/root usr/lib/libudev.la
+lrwxrwxrwx root/root usr/lib/libudev.so -> ../../lib/libudev.so.0.13.1
+drwxr-xr-x root/root usr/lib/pkgconfig/
+-rw-r--r-- root/root usr/lib/pkgconfig/libudev.pc
+drwxr-xr-x root/root usr/man/
+drwxr-xr-x root/root usr/man/man7/
+-rw-r--r-- root/root usr/man/man7/udev.7.gz
+drwxr-xr-x root/root usr/man/man8/
+-rw-r--r-- root/root usr/man/man8/scsi_id.8.gz
+-rw-r--r-- root/root usr/man/man8/udevadm.8.gz
+-rw-r--r-- root/root usr/man/man8/udevd.8.gz
+drwxr-xr-x root/root usr/share/
+drwxr-xr-x root/root usr/share/pkgconfig/
+-rw-r--r-- root/root usr/share/pkgconfig/udev.pc
--- /dev/null
+ee21e150df6c804eef03a6cb2fc1cceb 81-crux.rules
+ea80f70bc4bf2e4ab1b9412085c27b05 pre-accept4-kernel.patch
+585b2d60139c1a3a03fea06c5c16f2a8 start_udev
+023877e6cc0d907994b8c648beab542b udev-182.tar.xz
--- /dev/null
+#
+# 81-crux.rules
+#
+
+KERNEL=="fuse", ACTION=="add", RUN+="/bin/mount -t fusectl fusectl /sys/fs/fuse/connections"
+
--- /dev/null
+# Description: Userspace device management daemon, patched to remove accept4() syscall
+# URL: http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
+# Maintainer: CRUX System Team, core-ports at crux dot nu
+# Depends on: kmod
+
+name=udev
+version=182
+release=1
+source=(ftp://ftp.kernel.org/pub/linux/utils/kernel/hotplug/$name-$version.tar.xz \
+ pre-accept4-kernel.patch 81-crux.rules start_udev)
+
+build() {
+ cd udev-$version
+
+ patch -p1 < $SRC/pre-accept4-kernel.patch
+ ./configure --prefix=/usr \
+ --sbindir=/sbin --bindir=/sbin \
+ --sysconfdir=/etc \
+ --with-rootlibdir=/lib \
+ --with-rootprefix= \
+ --libexecdir=/lib \
+ --mandir=/usr/man \
+ --disable-introspection \
+ --disable-gudev \
+ --disable-keymap \
+ --enable-static \
+ --enable-rule_generator
+
+ make
+ make install DESTDIR=$PKG
+
+ mkdir -p $PKG/lib/{firmware,udev/devices/{pts,shm}}
+ mkdir -p $PKG/{lib,sbin,run}
+
+ # Symlink to udevd
+ ln -s ../lib/udev/udevd $PKG/sbin/udevd
+
+ # Add CRUX items
+ install -m 0755 $SRC/start_udev $PKG/sbin
+ install -m 0644 $SRC/81-crux.rules $PKG/lib/udev/rules.d
+
+ # Remove junk
+ rm -r $PKG/usr/share/{gtk-,}doc
+}
--- /dev/null
+diff -urN a/src/udev-ctrl.c b/src/udev-ctrl.c
+--- a/src/udev-ctrl.c 2011-10-09 17:10:32.000000000 -0600
++++ b/src/udev-ctrl.c 2011-10-25 15:11:09.000000000 -0600
+@@ -15,6 +15,7 @@
+ #include <stddef.h>
+ #include <string.h>
+ #include <unistd.h>
++#include <fcntl.h>
+ #include <sys/types.h>
+ #include <sys/poll.h>
+ #include <sys/socket.h>
+@@ -182,6 +183,7 @@
+ struct ucred ucred;
+ socklen_t slen;
+ const int on = 1;
++ int flgs;
+
+ conn = calloc(1, sizeof(struct udev_ctrl_connection));
+ if (conn == NULL)
+@@ -189,13 +191,19 @@
+ conn->refcount = 1;
+ conn->uctrl = uctrl;
+
+- conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
++ //conn->sock = accept4(uctrl->sock, NULL, NULL, SOCK_CLOEXEC|SOCK_NONBLOCK);
++ conn->sock = accept(uctrl->sock, NULL, NULL);
+ if (conn->sock < 0) {
+ if (errno != EINTR)
+ err(uctrl->udev, "unable to receive ctrl connection: %m\n");
+ goto err;
+ }
+
++ // Since we don't have accept4
++ flgs = fcntl(conn->sock, F_GETFL, NULL);
++ if(flgs >= 0) fcntl(conn->sock, F_SETFL, flgs | O_NONBLOCK);
++ fcntl(conn->sock, F_SETFD, FD_CLOEXEC);
++
+ /* check peer credential of connection */
+ slen = sizeof(ucred);
+ if (getsockopt(conn->sock, SOL_SOCKET, SO_PEERCRED, &ucred, &slen) < 0) {
+
--- /dev/null
+#!/bin/sh
+
+# - if /dev is not mounted - mount as a devtmpfs (CONFIG_DEVTMPFS=y)
+# - if /dev is mounted (e.g. due to handover from initramfs or
+# CONFIG_DEVTMPFS_MOUNT=y), remount with specific options
+# - some video drivers require exec access in /dev, thus it's set here
+# - for completness, we add few sanity limits (2k non-empty files, 16k inodes)
+
+UDEVOPTS="exec,nosuid,noatime,mode=0755,nr_blocks=2048,nr_inodes=16384"
+if /bin/mountpoint -q /dev ; then
+ /bin/mount -n -o remount,${UDEVOPTS} dev /dev
+else
+ /bin/mount -n -t devtmpfs -o ${UDEVOPTS} dev /dev
+fi
+
+# mount /run directory
+/bin/mount -n -t tmpfs -o mode=0755,nosuid,nodev,exec tmpfs /run
+
+# make sure hotplugger is not set
+echo > /proc/sys/kernel/hotplug
+
+# since v155, udevd automatically copies /lib/udev/devices
+# and creates /proc/{kcore,self/fd/{0,1,2}} symlinks
+
+# launch udev daemon, make sure it's not running first
+test -z "$(/bin/pidof -s udevd)" && /sbin/udevd --daemon
+
+# coldplug devices and wait for the queue to be processed
+/sbin/udevadm trigger --type=subsystems --action=add
+/sbin/udevadm trigger --type=devices --action=add
+/sbin/udevadm settle
+