Allow several device tables and split in two parts our device table
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 2 Mar 2011 13:52:54 +0000 (14:52 +0100)
committerPeter Korsgaard <jacmet@sunsite.dk>
Mon, 9 May 2011 14:52:22 +0000 (16:52 +0200)
This allows to have a device table for all directories/files and
another device table for the device files themselves. Both are needed
for static /dev, but only the first one is needed when
devtmpfs/mdev/udev are used.

We take this opportunity to move the documentation of the device table
format in a common location, package/makedevs/README.

[Peter: simplify code slightly, fix indentation]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
fs/Config.in
fs/common.mk
package/makedevs/README [new file with mode: 0644]
target/generic/device_table.txt
target/generic/device_table_dev.txt [new file with mode: 0644]

index 9ac3accd82a18d1e80b72552f4162148415d58d2..6f0f82ba2ff786e4c04f03a1960893f5b9e91530 100644 (file)
@@ -36,13 +36,21 @@ config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV
 endchoice
 
 config BR2_ROOTFS_DEVICE_TABLE
-       string "Path to the device table"
-       depends on BR2_ROOTFS_DEVICE_CREATION_STATIC
-       default "target/generic/device_table.txt"
+       string "Path to the device tables"
+       default "target/generic/device_table.txt target/generic/device_table_dev.txt" \
+               if BR2_ROOTFS_DEVICE_CREATION_STATIC
+       default "target/generic/device_table.txt" \
+               if (BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV || \
+                   BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV || \
+                   BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS)
        help
-         Specify the location of a device table, that will be passed
-         to the makedevs utility to create all the special device
-         files in the target filesystem.
+         Specify a space-separated list of device table locations,
+         that will be passed to the makedevs utility to create all
+         the special device files and assign correct owners and
+         permissions on various files in the target filesystem.
+
+         See package/makedevs/README for details on the usage and
+         syntax of these files.
 
 choice
        prompt "Root FS skeleton"
index 92be00cc0ca72f401a33a69f9b0bb48e9f390137..4d5051460d54dbd4bd8a61c53010e39c6419b420 100644 (file)
@@ -32,7 +32,8 @@
 # macro will automatically generate a compressed filesystem image.
 
 FAKEROOT_SCRIPT = $(BUILD_DIR)/_fakeroot.fs
-ROOTFS_DEVICE_TABLE = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE))
+FULL_DEVICE_TABLE = $(BUILD_DIR)/_device_table.txt
+ROOTFS_DEVICE_TABLES = $(call qstrip,$(BR2_ROOTFS_DEVICE_TABLE))
 
 define ROOTFS_TARGET_INTERNAL
 
@@ -46,13 +47,14 @@ $(BINARIES_DIR)/rootfs.$(1): $(ROOTFS_$(2)_DEPENDENCIES)
        touch $(BUILD_DIR)/.fakeroot.00000
        cat $(BUILD_DIR)/.fakeroot* > $(FAKEROOT_SCRIPT)
        echo "chown -R 0:0 $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
-ifneq ($(ROOTFS_DEVICE_TABLE),)
-       echo "$(HOST_DIR)/usr/bin/makedevs -d $(ROOTFS_DEVICE_TABLE) $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
+ifneq ($(ROOTFS_DEVICE_TABLES),)
+       cat $(ROOTFS_DEVICE_TABLES) > $(FULL_DEVICE_TABLE)
+       echo "$(HOST_DIR)/usr/bin/makedevs -d $(FULL_DEVICE_TABLE) $(TARGET_DIR)" >> $(FAKEROOT_SCRIPT)
 endif
        echo "$(ROOTFS_$(2)_CMD)" >> $(FAKEROOT_SCRIPT)
        chmod a+x $(FAKEROOT_SCRIPT)
        $(HOST_DIR)/usr/bin/fakeroot -- $(FAKEROOT_SCRIPT)
-       -@rm -f $(FAKEROOT_SCRIPT)
+       -@rm -f $(FAKEROOT_SCRIPT) $(FULL_DEVICE_TABLE)
        $(foreach hook,$(ROOTFS_$(2)_POST_GEN_HOOKS),$(call $(hook))$(sep))
 ifeq ($$(BR2_TARGET_ROOTFS_$(2)_GZIP),y)
        gzip -9 -c $$@ > $$@.gz
diff --git a/package/makedevs/README b/package/makedevs/README
new file mode 100644 (file)
index 0000000..6c54052
--- /dev/null
@@ -0,0 +1,35 @@
+When building a target filesystem, it is desirable to not have to
+become root and then run 'mknod' a thousand times.  Using a device
+table you can create device nodes and directories "on the fly".
+
+You can do all sorts of interesting things with a device table file.
+For example, if you want to adjust the permissions on a particular
+file you can just add an entry like:
+
+  /sbin/foobar        f       2755    0       0       -       -       -       -       -
+
+and (assuming the file /sbin/foobar exists) it will be made setuid
+root (regardless of what its permissions are on the host filesystem.
+
+Furthermore, you can use a single table entry to create a many device
+minors.  For example, if I wanted to create /dev/hda and
+/dev/hda[0-15] I could just use the following two table entries:
+
+  /dev/hda    b       640     0       0       3       0       0       0       -
+  /dev/hda    b       640     0       0       3       1       1       1       15
+
+Device table entries take the form of:
+
+<name>    <type>      <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
+
+where name is the file name,  type can be one of:
+
+      f       A regular file
+      d       Directory
+      c       Character special device file
+      b       Block special device file
+      p       Fifo (named pipe)
+
+uid is the user id for the target file, gid is the group id for the
+target file.  The rest of the entries (major, minor, etc) apply only
+to device special files.
index 38fe1e8e32a27a20e5751bafbfa9d38423189da5..12f35b2755d1e4e69e1a0aa1da3519ecb0cb5bca 100644 (file)
@@ -1,44 +1,15 @@
-# When building a target filesystem, it is desirable to not have to
-# become root and then run 'mknod' a thousand times.  Using a device 
-# table you can create device nodes and directories "on the fly".
+# See package/makedevs/README for details
 #
-# This is a sample device table file for use with genext2fs.  You can
-# do all sorts of interesting things with a device table file.  For
-# example, if you want to adjust the permissions on a particular file
-# you can just add an entry like:
-#   /sbin/foobar        f       2755    0       0       -       -       -       -       -
-# and (assuming the file /sbin/foobar exists) it will be made setuid
-# root (regardless of what its permissions are on the host filesystem.
-# Furthermore, you can use a single table entry to create a many device
-# minors.  For example, if I wanted to create /dev/hda and /dev/hda[0-15]
-# I could just use the following two table entries:
-#   /dev/hda    b       640     0       0       3       0       0       0       -
-#   /dev/hda    b       640     0       0       3       1       1       1       15
-# 
-# Device table entries take the form of:
-# <name>    <type>      <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-# where name is the file name,  type can be one of: 
-#       f       A regular file
-#       d       Directory
-#       c       Character special device file
-#       b       Block special device file
-#       p       Fifo (named pipe)
-# uid is the user id for the target file, gid is the group id for the
-# target file.  The rest of the entries (major, minor, etc) apply only 
-# to device special files.
-
-# Have fun
-# -Erik Andersen <andersen@codepoet.org>
+# This device table is used to assign proper ownership and permissions
+# on various files. It doesn't create any device file, as it is used
+# in both static device configurations (where /dev/ is static) and in
+# dynamic configurations (where devtmpfs, mdev or udev are used).
 #
-
-#<name>                <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
-/dev           d       755     0       0       -       -       -       -       -
-/dev/pts       d       755     0       0       -       -       -       -       -
-/dev/shm       d       755     0       0       -       -       -       -       -
-/tmp           d       1777    0       0       -       -       -       -       -
-/etc           d       755     0       0       -       -       -       -       -
-/home/default  d       2755    1000    1000    -       -       -       -       -
-#<name>                                        <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
+# <name>                               <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
+/dev                                   d       755     0       0       -       -       -       -       -
+/tmp                                   d       1777    0       0       -       -       -       -       -
+/etc                                   d       755     0       0       -       -       -       -       -
+/home/default                          d       2755    1000    1000    -       -       -       -       -
 /bin/busybox                           f       4755    0       0       -       -       -       -       -
 /etc/shadow                            f       600     0       0       -       -       -       -       -
 /etc/passwd                            f       644     0       0       -       -       -       -       -
 /etc/network/if-post-down.d            d       755     0       0       -       -       -       -       -
 /usr/share/udhcpc/default.script       f       755     0       0       -       -       -       -       -
 # uncomment this to allow starting x as non-root
-#/usr/X11R6/bin/Xfbdev         f       4755    0       0       -       -       -       -       -
-# Normal system devices
-/dev/mem       c       640     0       0       1       1       0       0       -
-/dev/kmem      c       640     0       0       1       2       0       0       -
-/dev/null      c       666     0       0       1       3       0       0       -
-/dev/zero      c       666     0       0       1       5       0       0       -
-/dev/random    c       666     0       0       1       8       0       0       -
-/dev/urandom   c       666     0       0       1       9       0       0       -
-/dev/ram       b       640     0       0       1       1       0       0       -
-/dev/ram       b       640     0       0       1       0       0       1       4
-/dev/loop      b       640     0       0       7       0       0       1       2
-/dev/rtc       c       640     0       0       10      135     -       -       -
-/dev/console   c       666     0       0       5       1       -       -       -
-/dev/tty       c       666     0       0       5       0       -       -       -
-/dev/tty       c       666     0       0       4       0       0       1       8
-/dev/ttyp      c       666     0       0       3       0       0       1       10
-/dev/ptyp      c       666     0       0       2       0       0       1       10
-/dev/ptmx      c       666     0       0       5       2       -       -       -
-/dev/ttyP      c       666     0       0       57      0       0       1       4
-/dev/ttyS      c       666     0       0       4       64      0       1       4
-/dev/fb                c       640     0       5       29      0       0       1       4
-#/dev/ttySA    c       666     0       0       204     5       0       1       3
-/dev/psaux     c       666     0       0       10      1       0       0       -
-#/dev/ppp      c       666     0       0       108     0       -       -       -
-/dev/ttyAM     c       666     0       0       204     16      0       1       3
-/dev/ttyCPM    c       666     0       0       204     46      0       1       4
-/dev/ttyAMA    c       666     0       0       204     64      0       1       4
-/dev/ttySAC    c       666     0       0       204     64      0       1       4
-/dev/ttySC     c       666     0       0       204     8       0       1       6
-/dev/ttyPSC    c       666     0       0       204     148     0       1       4
-/dev/ttyUL     c       666     0       0       204     187     0       1       4
-/dev/ttymxc    c       666     0       0       207     16      0       1       3
-
-# Input stuff
-/dev/input             d       755     0       0       -       -       -       -       -
-/dev/input/mice                c       640     0       0       13      63      0       0       -
-/dev/input/mouse       c       660     0       0       13      32      0       1       4
-/dev/input/event       c       660     0       0       13      64      0       1       4
-#/dev/input/js         c       660     0       0       13      0       0       1       4
-
-
-# MTD stuff
-/dev/mtd       c       640     0       0       90      0       0       2       4
-/dev/mtdblock  b       640     0       0       31      0       0       1       4
-
-#Tun/tap driver
-/dev/net       d       755     0       0       -       -       -       -       -
-/dev/net/tun   c       660     0       0       10      200     -       -       -
-
-# Audio stuff
-#/dev/audio    c       666     0       29      14      4       -       -       -
-#/dev/audio1   c       666     0       29      14      20      -       -       -
-#/dev/dsp      c       666     0       29      14      3       -       -       -
-#/dev/dsp1     c       666     0       29      14      19      -       -       -
-#/dev/sndstat  c       666     0       29      14      6       -       -       -
-
-# User-mode Linux stuff
-#/dev/ubda     b       640     0       0       98      0       0       0       -
-#/dev/ubda     b       640     0       0       98      1       1       1       15
-
-# IDE Devices
-/dev/hda       b       640     0       0       3       0       0       0       -
-/dev/hda       b       640     0       0       3       1       1       1       15
-/dev/hdb       b       640     0       0       3       64      0       0       -
-/dev/hdb       b       640     0       0       3       65      1       1       15
-#/dev/hdc      b       640     0       0       22      0       0       0       -
-#/dev/hdc      b       640     0       0       22      1       1       1       15
-#/dev/hdd      b       640     0       0       22      64      0       0       -
-#/dev/hdd      b       640     0       0       22      65      1       1       15
-#/dev/hde      b       640     0       0       33      0       0       0       -
-#/dev/hde      b       640     0       0       33      1       1       1       15
-#/dev/hdf      b       640     0       0       33      64      0       0       -
-#/dev/hdf      b       640     0       0       33      65      1       1       15
-#/dev/hdg      b       640     0       0       34      0       0       0       -
-#/dev/hdg      b       640     0       0       34      1       1       1       15
-#/dev/hdh      b       640     0       0       34      64      0       0       -
-#/dev/hdh      b       640     0       0       34      65      1       1       15
-
-# SCSI Devices
-/dev/sda       b       640     0       0       8       0       0       0       -
-/dev/sda       b       640     0       0       8       1       1       1       15
-/dev/sdb       b       640     0       0       8       16      0       0       -
-/dev/sdb       b       640     0       0       8       17      1       1       15
-#/dev/sdc      b       640     0       0       8       32      0       0       -
-#/dev/sdc      b       640     0       0       8       33      1       1       15
-#/dev/sdd      b       640     0       0       8       48      0       0       -
-#/dev/sdd      b       640     0       0       8       49      1       1       15
-#/dev/sde      b       640     0       0       8       64      0       0       -
-#/dev/sde      b       640     0       0       8       65      1       1       15
-#/dev/sdf      b       640     0       0       8       80      0       0       -
-#/dev/sdf      b       640     0       0       8       81      1       1       15
-#/dev/sdg      b       640     0       0       8       96      0       0       -
-#/dev/sdg      b       640     0       0       8       97      1       1       15
-#/dev/sdh      b       640     0       0       8       112     0       0       -
-#/dev/sdh      b       640     0       0       8       113     1       1       15
-#/dev/sg       c       640     0       0       21      0       0       1       15
-#/dev/scd      b       640     0       0       11      0       0       1       15
-#/dev/st       c       640     0       0       9       0       0       1       8
-#/dev/nst      c       640     0       0       9       128     0       1       8
-#/dev/st       c       640     0       0       9       32      1       1       4
-#/dev/st       c       640     0       0       9       64      1       1       4
-#/dev/st       c       640     0       0       9       96      1       1       4
-
-# USB block devices (ub driver)
-/dev/uba       b       640     0       0       180     0       0       0       -
-/dev/uba       b       640     0       0       180     1       1       1       6
-/dev/ubb       b       640     0       0       180     8       0       0       -
-/dev/ubb       b       640     0       0       180     65      1       1       6
-
-# Floppy disk devices
-#/dev/fd       b       640     0       0       2       0       0       1       2
-#/dev/fd0d360  b       640     0       0       2       4       0       0       -
-#/dev/fd1d360  b       640     0       0       2       5       0       0       -
-#/dev/fd0h1200 b       640     0       0       2       8       0       0       -
-#/dev/fd1h1200 b       640     0       0       2       9       0       0       -
-#/dev/fd0u1440 b       640     0       0       2       28      0       0       -
-#/dev/fd1u1440 b       640     0       0       2       29      0       0       -
-#/dev/fd0u2880 b       640     0       0       2       32      0       0       -
-#/dev/fd1u2880 b       640     0       0       2       33      0       0       -
-
-# All the proprietary cdrom devices in the world
-#/dev/aztcd    b       640     0       0       29      0       0       0       -
-#/dev/bpcd     b       640     0       0       41      0       0       0       -
-#/dev/capi20   c       640     0       0       68      0       0       1       2
-#/dev/cdu31a   b       640     0       0       15      0       0       0       -
-#/dev/cdu535   b       640     0       0       24      0       0       0       -
-#/dev/cm206cd  b       640     0       0       32      0       0       0       -
-#/dev/sjcd     b       640     0       0       18      0       0       0       -
-#/dev/sonycd   b       640     0       0       15      0       0       0       -
-#/dev/gscd     b       640     0       0       16      0       0       0       -
-#/dev/sbpcd    b       640     0       0       25      0       0       0       -
-#/dev/sbpcd    b       640     0       0       25      0       0       1       4
-#/dev/mcd      b       640     0       0       23      0       0       0       -
-#/dev/optcd    b       640     0       0       17      0       0       0       -
-
-# I2C device nodes
-/dev/i2c-      c       666     0       0       89      0       0       1       4
+#/usr/X11R6/bin/Xfbdev                 f       4755    0       0       -       -       -       -       -
diff --git a/target/generic/device_table_dev.txt b/target/generic/device_table_dev.txt
new file mode 100644 (file)
index 0000000..a3d53d4
--- /dev/null
@@ -0,0 +1,143 @@
+# See package/makedevs/README for details
+#
+# This device table is used only to create device files when a static
+# device configuration is used (entries in /dev are static).
+#
+# <name>       <type>  <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
+
+# Normal system devices
+/dev/mem       c       640     0       0       1       1       0       0       -
+/dev/kmem      c       640     0       0       1       2       0       0       -
+/dev/null      c       666     0       0       1       3       0       0       -
+/dev/zero      c       666     0       0       1       5       0       0       -
+/dev/random    c       666     0       0       1       8       0       0       -
+/dev/urandom   c       666     0       0       1       9       0       0       -
+/dev/ram       b       640     0       0       1       1       0       0       -
+/dev/ram       b       640     0       0       1       0       0       1       4
+/dev/loop      b       640     0       0       7       0       0       1       2
+/dev/rtc       c       640     0       0       10      135     -       -       -
+/dev/console   c       666     0       0       5       1       -       -       -
+/dev/tty       c       666     0       0       5       0       -       -       -
+/dev/tty       c       666     0       0       4       0       0       1       8
+/dev/ttyp      c       666     0       0       3       0       0       1       10
+/dev/ptyp      c       666     0       0       2       0       0       1       10
+/dev/ptmx      c       666     0       0       5       2       -       -       -
+/dev/ttyP      c       666     0       0       57      0       0       1       4
+/dev/ttyS      c       666     0       0       4       64      0       1       4
+/dev/fb                c       640     0       5       29      0       0       1       4
+#/dev/ttySA    c       666     0       0       204     5       0       1       3
+/dev/psaux     c       666     0       0       10      1       0       0       -
+#/dev/ppp      c       666     0       0       108     0       -       -       -
+/dev/ttyAM     c       666     0       0       204     16      0       1       3
+/dev/ttyCPM    c       666     0       0       204     46      0       1       4
+/dev/ttyAMA    c       666     0       0       204     64      0       1       4
+/dev/ttySAC    c       666     0       0       204     64      0       1       4
+/dev/ttySC     c       666     0       0       204     8       0       1       6
+/dev/ttyPSC    c       666     0       0       204     148     0       1       4
+/dev/ttyUL     c       666     0       0       204     187     0       1       4
+/dev/ttymxc    c       666     0       0       207     16      0       1       3
+
+# Input stuff
+/dev/input             d       755     0       0       -       -       -       -       -
+/dev/input/mice                c       640     0       0       13      63      0       0       -
+/dev/input/mouse       c       660     0       0       13      32      0       1       4
+/dev/input/event       c       660     0       0       13      64      0       1       4
+#/dev/input/js         c       660     0       0       13      0       0       1       4
+
+
+# MTD stuff
+/dev/mtd       c       640     0       0       90      0       0       2       4
+/dev/mtdblock  b       640     0       0       31      0       0       1       4
+
+#Tun/tap driver
+/dev/net       d       755     0       0       -       -       -       -       -
+/dev/net/tun   c       660     0       0       10      200     -       -       -
+
+# Audio stuff
+#/dev/audio    c       666     0       29      14      4       -       -       -
+#/dev/audio1   c       666     0       29      14      20      -       -       -
+#/dev/dsp      c       666     0       29      14      3       -       -       -
+#/dev/dsp1     c       666     0       29      14      19      -       -       -
+#/dev/sndstat  c       666     0       29      14      6       -       -       -
+
+# User-mode Linux stuff
+#/dev/ubda     b       640     0       0       98      0       0       0       -
+#/dev/ubda     b       640     0       0       98      1       1       1       15
+
+# IDE Devices
+/dev/hda       b       640     0       0       3       0       0       0       -
+/dev/hda       b       640     0       0       3       1       1       1       15
+/dev/hdb       b       640     0       0       3       64      0       0       -
+/dev/hdb       b       640     0       0       3       65      1       1       15
+#/dev/hdc      b       640     0       0       22      0       0       0       -
+#/dev/hdc      b       640     0       0       22      1       1       1       15
+#/dev/hdd      b       640     0       0       22      64      0       0       -
+#/dev/hdd      b       640     0       0       22      65      1       1       15
+#/dev/hde      b       640     0       0       33      0       0       0       -
+#/dev/hde      b       640     0       0       33      1       1       1       15
+#/dev/hdf      b       640     0       0       33      64      0       0       -
+#/dev/hdf      b       640     0       0       33      65      1       1       15
+#/dev/hdg      b       640     0       0       34      0       0       0       -
+#/dev/hdg      b       640     0       0       34      1       1       1       15
+#/dev/hdh      b       640     0       0       34      64      0       0       -
+#/dev/hdh      b       640     0       0       34      65      1       1       15
+
+# SCSI Devices
+/dev/sda       b       640     0       0       8       0       0       0       -
+/dev/sda       b       640     0       0       8       1       1       1       15
+/dev/sdb       b       640     0       0       8       16      0       0       -
+/dev/sdb       b       640     0       0       8       17      1       1       15
+#/dev/sdc      b       640     0       0       8       32      0       0       -
+#/dev/sdc      b       640     0       0       8       33      1       1       15
+#/dev/sdd      b       640     0       0       8       48      0       0       -
+#/dev/sdd      b       640     0       0       8       49      1       1       15
+#/dev/sde      b       640     0       0       8       64      0       0       -
+#/dev/sde      b       640     0       0       8       65      1       1       15
+#/dev/sdf      b       640     0       0       8       80      0       0       -
+#/dev/sdf      b       640     0       0       8       81      1       1       15
+#/dev/sdg      b       640     0       0       8       96      0       0       -
+#/dev/sdg      b       640     0       0       8       97      1       1       15
+#/dev/sdh      b       640     0       0       8       112     0       0       -
+#/dev/sdh      b       640     0       0       8       113     1       1       15
+#/dev/sg       c       640     0       0       21      0       0       1       15
+#/dev/scd      b       640     0       0       11      0       0       1       15
+#/dev/st       c       640     0       0       9       0       0       1       8
+#/dev/nst      c       640     0       0       9       128     0       1       8
+#/dev/st       c       640     0       0       9       32      1       1       4
+#/dev/st       c       640     0       0       9       64      1       1       4
+#/dev/st       c       640     0       0       9       96      1       1       4
+
+# USB block devices (ub driver)
+/dev/uba       b       640     0       0       180     0       0       0       -
+/dev/uba       b       640     0       0       180     1       1       1       6
+/dev/ubb       b       640     0       0       180     8       0       0       -
+/dev/ubb       b       640     0       0       180     65      1       1       6
+
+# Floppy disk devices
+#/dev/fd       b       640     0       0       2       0       0       1       2
+#/dev/fd0d360  b       640     0       0       2       4       0       0       -
+#/dev/fd1d360  b       640     0       0       2       5       0       0       -
+#/dev/fd0h1200 b       640     0       0       2       8       0       0       -
+#/dev/fd1h1200 b       640     0       0       2       9       0       0       -
+#/dev/fd0u1440 b       640     0       0       2       28      0       0       -
+#/dev/fd1u1440 b       640     0       0       2       29      0       0       -
+#/dev/fd0u2880 b       640     0       0       2       32      0       0       -
+#/dev/fd1u2880 b       640     0       0       2       33      0       0       -
+
+# All the proprietary cdrom devices in the world
+#/dev/aztcd    b       640     0       0       29      0       0       0       -
+#/dev/bpcd     b       640     0       0       41      0       0       0       -
+#/dev/capi20   c       640     0       0       68      0       0       1       2
+#/dev/cdu31a   b       640     0       0       15      0       0       0       -
+#/dev/cdu535   b       640     0       0       24      0       0       0       -
+#/dev/cm206cd  b       640     0       0       32      0       0       0       -
+#/dev/sjcd     b       640     0       0       18      0       0       0       -
+#/dev/sonycd   b       640     0       0       15      0       0       0       -
+#/dev/gscd     b       640     0       0       16      0       0       0       -
+#/dev/sbpcd    b       640     0       0       25      0       0       0       -
+#/dev/sbpcd    b       640     0       0       25      0       0       1       4
+#/dev/mcd      b       640     0       0       23      0       0       0       -
+#/dev/optcd    b       640     0       0       17      0       0       0       -
+
+# I2C device nodes
+/dev/i2c-      c       666     0       0       89      0       0       1       4