NAME
MAKEDEV - create devices
SYNOPSIS
cd /dev; ./MAKEDEV [ -n ] [ -v ] [ update ]
cd /dev; ./MAKEDEV [ -n ] [ -v ] [ generic ] [ local ] [ group-keyword ... device ... ]
I cd /dev; ./MAKEDEV [ -n ] [ -v ] [ -d ] device ...
DESCRIPTION
MAKEDEV
is a script that will create the devices in
/dev
used to interface
with drivers in the kernel.
Note that programs giving the error ``ENOENT: No such file or
directory'' normally means that the device file is missing, whereas
``ENODEV: No such device'' normally means the kernel does not have the
driver configured or loaded.
OPTIONS
-n
Do not actually update the devices, just print the actions that would be
performed.
-d
Delete the devices. The main use for this flag is by
MAKEDEV
itself.
-v
Be verbose. Print out the actions as they are performed. This is the
same output as produced by
R -n .
CUSTOMISATION
Since there is currently no standardisation in what names are used for
system users and groups, it is possible that you may need to modify
MAKEDEV
to reflect your site's settings. Near the top of the file is a mapping
from device type to user, group and permissions (e.g. all CD-ROM devices
are set from the $cdrom variable). If you wish to change the
defaults, this is the section to edit.
GENERAL OPTIONS
update
This only works on kernels which have /proc/interrupts (introduced
during 1.1.x). This file is scanned to see what devices are currently
configured into the kernel, and this is compared with the previous
settings stored in the file called DEVICES.
Devices which are new since then or have a different major number are
created, and those which are no longer configured are deleted.
generic
Create a generic subset of devices. This subset consists of the
standard devices, plus floppy drives, various hard drives, CD-ROM
drives, pseudo-terminals, console devices, basic serial devices,
busmice, audio devices, video framebuffers, printer ports, and some
specialized devices. The generic subset varies somewhat according to
architecture; see the
/dev/MAKEDEV
script itself for details.
local
This simply runs
R MAKEDEV.local .
This is a script that can create any local devices.
DEVICE GROUPS
MAKEDEV
creates groups of devices when passed keywords for the group.
Each listing below shows the
MAKEDEV
keyword and then lists the devices which will be created. Many
devices can also be specified individually.
STANDARD DEVICES
std
Creates this group of standard devices:
mem
for access to physical memory,
kmem
for access to kernel virtual memory,
null
the null device (infinite sink),
port
for access to I/O ports,
zero
the null byte source (infinite source),
R core ,
a symlink to /proc/kcore (for kernel debugging),
full
which always returns ENOSPACE on write,
R random and urandom
random byte generators, and
tty
to access the controlling tty of a process. The
loopback disk devices
loop0
through
R loop7
are also created in the
std
group. These allow you to use a regular file as a
block device. A filesystem image can be mounted,
and used as though it were a filesystem on a partition or other
block device.
loop
may also be used as a separate keyword to create the 8 loop devices. Finally, the
ram
group of memory devices is also created by the
std
keyword (see below).
MEMORY DEVICES
ram
This is the keyword used to generate the ramdisk devices
I ram {0..16}
and the
ram
symlink. This group does not include
R initrd .
initrd
Ramdisk which has been pre-initialized by a bootloader.
initrd
is not created in the
ram
group; it must be specifically included
in the command line if you want it to be created.
R cpu or microcode
Creates the CPU microcode update interface in the
cpu/
folder, with devices
R microcode ,
and subfolders
R {0..3}
each containing devices
R msr and cpuid .
rom
Creates the
I rom {0..7} rrom {0..7} flaxh {0..7}
and
I rflash {0..7}
flash memory card devices.
R rrom and rflash
devices are read-only.
CONSOLE DEVICES
console
This keyword creates virtual consoles;
I tty {0..63}
devices, the corresponding
vcs
and
vcsa
devices which are used to generate screen-dumps, and the
console
device itself plus appropriate symlinks.
To create the console device alone, use
R consoleonly .
The device
tty0
is the currently active virtual console. The
console
device serves the same function.
PSEUDO TERMINALS
pty
This keyword creates the Pseudo-TTY masters
I pty {a..e,p..z}
and corresponding
I tty {a..e,p..z}
devices, along with
R ptmx .
Each possible argument will create a bank of 16 master and slave pairs.
The master pseudo-terminals are
R pty{p..s}{0..9a..f} ,
and the slaves are
R tty{p..s}{0..9a..f} .
SERIAL DEVICES
ttyS{0..63}
Standard serial ports. There is no group keyword, you must
specify these individually. However
I ttyS{0..3}
are created under the
generic
option for most architectures.
R cyclades or ttyC
Creates Cyclades ports
I ttyC {0..31} .
R digi or ttyD
Creates Digiboard serial card ports
I ttyD {0..15} .
R stallion or ttyE
Creates Stallion devices
I ttyE {0..255}
and
I staliomem {0..3} .
R computone or ttyF
Creates CompuTone serial card ports
I ttyH {0..255}
and special devices
ip2ipl{0,4,8,12}
and
R ip2stat{1,5,9,13} .
R chase or ttyH
Creates Chase serial card ports
I ttyH {0..15} .
R isdnmodem or ttyI
Creates isdn4linux virtual modem ports
I ttyI {0..63} .
R isdn-tty
Also creates isdn4linux virtual modem ports
I ttyI {0..7} .
isdnbri
Creates ISDN BRI driver devices
isdn{0..63} isdnctrl{0..63} ippp{0..63}
and
R isdninfo .
isdn-io
Also creates ISDN BRI driver devices
isdn{0..7} isdnctrl{0..7} ippp{0..7}
and
R isdninfo .
The
isdn-ippp
keyword can be used separately to create only the
I ippp {0..7}
devices.
ppp
Creates a device independent PPP interface.
dcbri
Creates Spellcaster DataComm/BRI ISDN card devices
R dcbri{0..3} .
R riscom or ttyL
Creates Riscom serial card ports
I ttyL {0..15} .
R PAM or ttyM
Creates PAM multimodem (or ISI serial card) ports
I ttyM {0..15} .
R ESP or ttyP
Creates ESP ports
I ttyP {0..4} .
R rocketport or ttyR
Creates Rocketport devices
I ttyR {0..63} .
R ttyV
Creates Comtrol VS-1000 serial controller ports
I ttyV {0..15} .
R specialixIO8 or ttyW
Creates Specialix IO8+ ports
I ttyW {0..15} .
R specialix or ttyX
Creates Specialix ports
I ttyX {0..15} .
I i2c
Creates
I i2c {0..7}
devices for the I2C bus interface.
I tlk
Philips SAA5249 Teletext signal decoder {2.6} ports
I tlk {0..3} .
PARALLEL PORTS
R lp
Creates the standard parallel ports
R lp0 ,
R lp1 ,
and
R lp2
normally used for printers.
These correspond to ports at 0x3bc, 0x378 and 0x278.
Hence, on some machines, the first printer port may actually be
R lp1 .
par
Alternative to
R lp .
The same ports are created, but are named
I par {0..2}
instead of
I lp {0..2} .
parport
Creates raw parallel ports
R parport0 ,
R parport1 ,
and
R parport2 .
slm
Creates the Atari SLM ACSI laser printer (68k/Atari) ports
I slm {0..3} .
pg
Parallel port generic ATAPI interface (devices
I pg {0..3} .
paride
Parallel port IDE disk devices
I pd {a..d}
with 15 partitions on each. Also creates
R pcd{0..3} and pf{0..3} .
OTHER BUS PORTS
R netlink or tap
Creates NetLink devices
route skip fwmonitor
and
I tap {0..15}
Ethertap devices.
The
I tap x
virtual ethernet device was designed as low level kernel support for
Ethernet tunneling. Userland application can write Ethernet frame to
I /dev/tapX
and the kernel will receive this frame from tapX interface.
Every frame the kernel writes to a
I tapX
interface can be read by a userland application from the corresponding
I /dev/tapX
device.
enskip
ENskip kernel encryption package.
qng
ComScire Quantum Noise Generator.
ipsec
The Free S/WAN implementation of IPSEC.
adb
On powerpc, creates
adb
for the Apple Data Bus and
R adbmouse .
On m68k,
adb
creates the ACSI disk device
adb
and partitions
adb1
through
R adb15 .
hamradio
Creates the
I scc {0..7}
and
I bc {0..3}
device groups.
comx
Creates COMX devices
I comx {0..4} .
irda
Creates IrCOMM devices (IrDA serial/parallel emulation)
ircomm0 ircomm1 irlpt0
and
R irlpt1 .
comedi
Control and Measurement devices
I comedi {0..3} .
MOUSE DEVICES
busmice
This keyword creates the following devices:
logibm
(Logitech bus mouse),
psaux
(PS/2-style mouse),
inportbm
(Microsoft Inport bus mouse) and
atibm
(ATI XL bus mouse) and
jbm
(J-mouse).
m68k-mice
Creates mouse devices for the m68k architecture, including:
R amigamouse ,
R amigamouse1 ,
atarimouse
and
R adbmouse .
input
On powerpc, this keyword creates the
input
folder which groups input devices
R mice ,
I mouse {0..3} ,
I event {0..3} ,
and
I js {0..3}
(joystick), and creates these devices inside.
JOYSTICK DEVICES
js
Joystick. Creates
js0
and
R js1 .
djs
Digital joystick. Creates
djs0
and
R djs1 .
USB DEVICES
usb
USB is a general purpose I/O bus which can serve many purposes. The
usb
keyword creates a
usb
folder, and devices in the folder:
I lp {0..15}
(printer),
I mouse {0..15}
(USB connected mice),
I ez {0..15}
(firmware loaders)
I scanner {0..15}
(scanner interfaces),
I ttyACM {0..15}
and
I ttyUSB {0..15}
(dialout devices),
and
rio500
the Diamond Rio 500 device.
DISK DEVICES
I fd {0..7}
Floppy disk devices. The device
I fd x
is the device which autodetects the format,
and the additional devices are
fixed format (whose size is indicated in the name).
The other devices are named as
I fd x{dqhu}n .
The single letter
(d,
R q ,
R h or
R u )
signifies the type of drive: 5.25" Double Density (d),
5.25" Quad Density (q), 5.25" High Density (h) or 3.5"
(any model, u). The number
n
represents the capacity of that format in K.
Thus the standard formats are
I fd x d360 ,
I fd x h1200 ,
I fd x 720 ,
I fd x 1440 ,
and
I fd x 2880 .
For more information see Alain Knaff's fdutils package.
Devices
I fd0 *
through
I fd3 *
are floppy disks on the first controller, and devices
I fd4 *
through
I fd7 *
are floppy disks on the second controller.
I fd {0..7} -bare
Creates just the autodetecting floppy device specified, without the fixed
format devices.
I hd {a..l}
AT (ide) hard disks. The device
I hd x
provides access to the whole disk, with the partitions being
I hd x {1..63}.
For i386, the four primary partitions are
I hd x 1
through
I hd x 4,
with the logical partitions being numbered from
I hd x 5
though
I hd x 20.
(A primary partition can be made into an extended partition, which can
hold 4 logical partitions). Other architectures may not differentiate
partition types. By default, devices for 20 logical partitions are
made. The kernel supports up to 63 partitions per device.
Drives
hda
and
hdb
are the two on the primary controller
hdc
and
hdd
are the two
drives on the secondary controller. These devices can also be used to
access IDE CDROMs. Additional devices
I hd {e..l}
can be created.
I xd {a..d}
XT hard disks. Partitions are the same as IDE disks, except only 8
partitions are created.
I sd {a..h}
SCSI hard disks. The partitions are similar to the IDE disks, but there
is a limit of 11 logical partitions
I sd x 5
through
I sd x 15,
to allow there to be 8 SCSI disks on a system
(addresses 0 through 7).
I sd {i..z}
and
I sd {a..d}{a..z}
The kernel (and MAKEDEV) can handle up to 128 SCSI disks (up to
R sddx ).
15 partition devices are created for each.
eda edb
MCA ESDI hard disk. Partitions are handled the same as hd.
I dasd {a..z}
Direct Access Storage Devices for the s390 architecture. Currently
only one device partition is created (for example,
R dasda1 ).
I ada {a..p}
ACSI disk (68k/Atari). 15 partitions are created for each.
I dac960. {0..7}
Mylex DAC960 PCI RAID controller. For this device, an
rd
directory is created. 32 logical devices
I c x d {0..31}
are created for each unit
x
specified, each with 7 partitions
I c x d {0..31} p {1..7} .
The
dac960
keyword will create all 7 units at once.
I dpti
Adaptec I2O RAID and DPT SmartRAID V I2O controllers. Creates
7 devices for handling up to 7 controllers.
I ataraid. {0..7}
Obsolete, device not in current devices.txt. For this device, an
ataraid
directory is created.
I d x
is created for each unit
x
specified, and 15 partitions
I d x p {1..15} .
The
ataraid
keyword will create all 7 units at once.
I i2o.hd{a..d}{a..z}
I2O based harddisk drives. Device nodes are located in the
i2o
directory. The filename is followed by a number that specifies the partition on
each disk. The numbers are handled the same as hd.
I ida. {0..7}
Compaq Intelligent Drive Array. For this device, an
ida
directory is created. 16 logical devices
I c x d {0..15}
are created for each unit
x
specified, each with 15 partitions
I c x d {0..15} p {1..15} .
The
ida
keyword will create the first three units.
I cciss. {0..7}
Compaq Next Generation Drive Array. For this device, a
cciss
directory is created. 16 logical devices
I c x d {0..15}
are created for each unit
x
specified, each with 15 partitions
I c x d {0..15} p {1..15} .
The
cciss
keyword will create the first three units.
I md
Creates Metadisk (RAID) disk array with 16 devices.
TAPE DEVICES
st{0..7}
SCSI tape devices. This creates the rewinding tape device
I st x
and the non-rewinding tape device
I nst x ,
for each of modes 0 through 3.
qic
QIC-11, -24, -120, and -150 tapes. The devices created are
ntpqic11 tpqic11 ntpqic24 tpqic24 ntpqic120 tpqic120 ntpqic150
and
tpqic150
tape devices, along with
R rmt8 ,
R rmt16 ,
R tape-d ,
and
R tape-reset .
ftape
Floppy driver tapes (QIC-117). There are 4 methods of access depending on
the floppy tape drive. For each of access methods 0, 1, 2 and 3, the
devices
I qft x
I zqft x
and
I rawqftx
(rewinding) and
I nqft x
I nzqft x
I nrawqdt x
(non-rewinding) are created. For compatibility, devices
ftape
and
nftape
are symlinks to
qft0
and
nqft0
respectively.
ht0
Creates IDE tape devices
ht0
and
R nht0 .
I pt {0..3}
Creates parallel port ATAPI tape devices
pt{0..3}
and
R npt{0..3} .
CDROM DEVICES
R sr or scd or scd-all
Creates
I scd {0..16}
SCSI CD players and
I sr {0..16}
symlinks for these devices.
cdrom
is a symlink which can be created by the user to the active CD device.
It is not created by
R MAKEDEV .
pktcdvd
Provides packet writing devices
I pktcdvd {0..3}
for CD/DVD.
pcd{0..3}
Parallel port ATAPI CD-ROM devices
sonycd
Sony CDU-31a CD-ROM
mcdx
Obsolete, device not in current devices.txt.
cdu535
Sony CDU-535 CD-ROM
R lmscd
Philips LMS CM-205 CD-ROM. The newer name for this device is
R cm205 ,
but MAKEDEV creates only lmscd at this time.
cm206cd
Philips LMS CM-206 CD-ROM
bpcd
MicroSolutions BackPack parallel port CD-ROM (Obsolete - use pcd)
sbpcd{0..15}
Matsushita (Panasonic/SoundBlaster) CD-ROM. Units {0..3} are created with the keyword
R sbpcd .
aztcd
Aztech/Orchid/Okano/Wearnes CD-ROM
optcd
Optics Storage CD-ROM
SCANNERS
logiscan
Logitech ScanMan32 & ScanMan 256.
m105scan
Mustek M105 Handscanner.
ac4096
A4Tek Color Handscanner.
AUDIO DEVICES
audio
This creates the audio devices used by the sound driver. These include
mixer mixer{1..3}
(Mixer controls),
sequencer
(Audio sequencer),
dsp dsp{1..3}
(Digital audio),
sndstat
(Sound card status information),
audioctl
(SPARC audio control device)
and
audio audio{1..3}
(Sun-compatible digital audio). MIDI devices are
midi00
through
R midi03 ,
I midi {0..3} ,
I rmidi {0..3} ,
I smpte {0..3} .
In addition, devices
mpu401data
and
mpu401stat
are created.
pcaudio
Devices for the PC Speaker sound driver. These are
R pcmixer ,
R pxsp ,
and
R pcaudio .
VIDEO DEVICES
fb
Creates framebuffer devices
I fb {0..7} ,
I fb {0..7} current ,
I fb {0..7} autodetect .
fb{0..7}
If the framebuffer number
x
is specifed, a group of
I fb x user {0..7}
devices is created.
3dfx
is the 3Dfx Voodoo Graphics device.
agpgart
AGP Graphics Address Remapping Table
video video4linux v4l radio
Each of these keywords produces the same result:
Video capture/overlay devices
I video {0..63} ,
Radio devices
I radio {0..63} ,
Teletext devices
I vtx {0..31} ,
and Vertical blank interrupt devices
I vbi {0..31} .
In addition, the
R winradio0 and winradio1 devices,
and
R vtx and vttuner devices,
and symlinks
R radio video and vbi
are created.
I srnd
miroMEDIA Surround board devices
R srnd0 and srnd1 .
fgrab
Matrox Meteor frame grabber {2.6}. Creates
R mmetfgrab ,
R wvisfgrab ,
R iscc0 ,
R iscc1 ,
R isccctl0 ,
R isccctl1 ,
R dcxx0 ,
and
R dcxx1 .
MISCELLANEOUS DEVICES
R sg or sg-all
Generic SCSI devices. The devices created are
sg0
through
R sg16 .
These allow arbitary commands to be sent to any SCSI device, to query
information or control SCSI devices that are not disk, tape or CDROM
(for example, scanner or writeable CDROM).
fd
To allow an arbitary program to be fed input from file descriptor
R x ,
use
I /dev/fd/ x
as the file name. This also creates
R /dev/stdin ,
R /dev/stdout ,
and
R /dev/stderr .
(Note, these are just symlinks into /proc/self/fd).
ibcs2
Devices
socksys spx
(and symlinks
R nfsd XOR )
needed by the IBCS2 emulation.
apm
apm_bios
Advanced Power Management BIOS device.
dcf
Driver for DCF-77 radio clock.
helloworld
Kernel modules demonstration device. See the modules source.
R xfs or arla
Arla XFS network file system.
capi
CAPI 2.0 interface ports
I capi20 {01..20} .
ubd
User-mode block devices
I ubd {0..255} .
I nb {0..7}
Network block devices.
raw
Creates the raw block device interface
raw
device, the
rawctl
symlink, and
I raw {1..8} .
raw1394
IEEE 1394 (Firewire).
misc
This keyword creates all the following devices. You may find the
device explanations in other categories in this man page, many
under OTHER DEVICES below.
R logibm ,
R psaux ,
R inportbm ,
R atibm ,
R jbm ,
R amigamouse ,
R atarimouse ,
R sunmouse ,
R amigamouse1 ,
R smouse ,
R pc110pad ,
R adbmouse ,
R beep ,
R modreq ,
R watchdog ,
R temperature ,
R hwtrap ,
R exttrp ,
R apm_bios ,
R rtc ,
R openprom ,
R relay8 ,
R relay16 ,
R msr ,
R pciconf ,
R nvram ,
R hfmodem ,
R led ,
R mergemem ,
R pmu .
Network Devices
Linux used to have devices in /dev for controlling network devices, but
that is no longer the case. To see what network devices are known by the
kernel, look at /proc/net/dev.
OTHER DEVICES
Many of these devices are architecture-specific.
scc
Z8530 HDLC driver (HAM radio)
bc
Baycom radio modem (HAM radio)
R cfs0 or cfs or coda
Coda network file system
smouse
Simple serial mouse driver
pc110pad
IBM PC-110 digitizer pad
vrtpanel
Vr41xx embedded touch panel
vpcmouse
Connectix Virtual PC Mouse
modreq
Kernel module load request {2.6}
watchdog
Watchdog timer port
temperature
Machine internal temperature
hwtrap
Hardware fault trap
exttrp
External device trap
openprom
SPARC OpenBoot PROM
relay8
Berkshire Products Octal relay card
relay16
Berkshire Products ISO-16 relay card
msr
x86 model-specific registers {2.6}
pciconf
PCI configuration space
nvram
Non-volatile configuration RAM
hfmodem
Soundcard shortwave modem control {2.6}
graphics
Linux/SGI graphics device
opengl
Linux/SGI OpenGL pipe
gfx
Linux/SGI graphics effects device
lcd
Front panel LCD display
mergemem
Memory merge device
pmu
Macintosh PowerBook power manager
isictl
MultiTech ISICom serial control
ac
Applicom Intl Profibus card
nwbutton
Netwinder external button
nwdebug
Netwinder debug interface
nwflash
Netwinder flash memory
userdma
User-space DMA access
smbus
System Management Bus
lik
Logitech Internet Keyboard
ipmo
Intel Intelligent Platform Management
vmmon
VMWare virtual machine monitor
tcldrv
Technology Concepts serial control
specialix_sxctl
Specialix serial control
specialix_rioctl
Specialix RIO serial control
R smapi or thinkpad
IBM Thinkpad
smapi
device, and a symlink
R thinkpad .
srripc
QNX4 API IPC manager
usemaclone
Semaphore clone device
R ipmi or ipmikcs
Intelligent Platform Management
uctrl
SPARCbook 3 microcontroller
gtrsc
Gorgy Timing radio clock
jsflash
JavaStation OS flash SIMM
xsvc
High-speed shared-mem/semaphore service
vrbuttons
Vr41xx button input device
toshiba
Toshiba laptop SMM support
perfctr
Performance-monitoring counters
intel_rng
Intel i8x0 random number generator
atomicps
Atomic shapshot of process state data
ussp_ctl
User space serial port control
crash
Mission Critical Linux crash dump facility
nas_xbus
NAS xbus LCD/buttons access
d7s
SPARC 7-segment display
zkshim
Zero-Knowledge network shim control
sexec
Signed executable interface
kchuid
Inter-process chuid control
mptctl
Message passing technology (MPT) control
button/gulpb
Transmeta GULP-B buttons
compaq/cpqphpc
Compaq PCI Hot Plug Controller
compaq/cpqrid
Compaq Remote InsightDriver
elographics/e2201
Elographics touchscreen E271-2201
fujitsu/apanel
Fujitsu/Siemens application panel
i2o/ctl
I2O configuration manager
impi/bt
IMPI coprocessor block transfer
impi/smic
IMPI coprocessor stream interface
input/mouse
Linux/SGI Irix emulation mouse
input/keyboard
Linux/SGI Irix emulation keyboard
modems/mwave
MWave modem firmware upload
mvista/hssdsi
Montavista PICMG hot swap system driver
mvista/hasi
Montavista PICMG high availability
net/tun
TAP/TUN network device
ni/natmotn
National Instruments Motion
scanners/cuecat
:CueCat barcode scanner
touchscreen/ucb1x00
UCB 1x00 touchscreen
touchscreen/mk712
MK712 touchscreen
video/em8300
EM8300 DVD decoder control
video/em8300_mv
EM8300 DVD decoder video
video/em8300_ma
EM8300 DVD decoder audio
video/em8300_sp
EM8300 DVD decoder subpicture
watchdogs/{0..3}
Watchdog devices 0 through 3
SEE ALSO
Linux Allocated Devices, maintained by H. Peter Anvin,
<Peter.Anvin@linux.org>, and devices.txt in the Linux
kernel source.
AUTHOR
Nick Holloway, rewritten and updated by Chris Tillman