# 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".
#
# 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>
#

#<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>
###/bin/busybox				f	4755	0	0	-	-	-	-	-
###/etc/shadow				f	600	0	0	-	-	-	-	-
###/etc/passwd				f	644	0	0	-	-	-	-	-
/etc/network/if-up.d			d	755	0	0	-	-	-	-	-
/etc/network/if-pre-up.d		d	755	0	0	-	-	-	-	-
/etc/network/if-down.d			d	755	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
# <name>    <type>      <mode>  <uid>   <gid>   <major> <minor> <start> <inc>   <count>
/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	32	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	-	-	-

# 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

# 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	-
