cd /dev; ./MAKEDEV [ -n ] [ -v ] [ update ]
cd /dev; ./MAKEDEV [ -n ] [ -v ] [ generic ] [ local ] [ group-keyword ...
device ... ]
cd /dev; ./MAKEDEV [ -n ] [ -v ] [ -d ] device ...
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.
- -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 -n.
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.
- 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 MAKEDEV.local. This is a script that can create
any local devices.
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.
- 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), core, a symlink
to /proc/kcore (for kernel debugging), full which always returns
ENOSPACE on write, random and urandom random byte
generators, and tty to access the controlling tty of a process. The
loopback disk devices loop0 through 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).
- ram
- This is the keyword used to generate the ramdisk devices
ram{0..16} and the ram symlink. This group does not
include 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.
- cpu or
microcode
- Creates the CPU microcode update interface in the cpu/ folder, with
devices microcode, and subfolders {0..3} each containing
devices msr and cpuid.
- rom
- Creates the rom{0..7} rrom{0..7}
flaxh{0..7} and rflash{0..7} flash memory card
devices. rrom and rflash devices are read-only.
- console
- This keyword creates virtual consoles; 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
consoleonly. The device tty0 is the currently active virtual
console. The console device serves the same function.
- pty
- This keyword creates the Pseudo-TTY masters pty{a..e,p..z}
and corresponding tty{a..e,p..z} devices, along with
ptmx. Each possible argument will create a bank of 16 master and
slave pairs. The master pseudo-terminals are pty{p..s}{0..9a..f},
and the slaves are tty{p..s}{0..9a..f}.
- ttyS{0..63}
- Standard serial ports. There is no group keyword, you must specify these
individually. However ttyS{0..3} are created under the
generic option for most architectures.
- cyclades or
ttyC
- Creates Cyclades ports ttyC{0..31}.
- digi or
ttyD
- Creates Digiboard serial card ports ttyD{0..15}.
- stallion or
ttyE
- Creates Stallion devices ttyE{0..255} and
staliomem{0..3}.
- computone or
ttyF
- Creates CompuTone serial card ports ttyH{0..255} and special
devices ip2ipl{0,4,8,12} and ip2stat{1,5,9,13}.
- chase or
ttyH
- Creates Chase serial card ports ttyH{0..15}.
- isdnmodem or
ttyI
- Creates isdn4linux virtual modem ports
ttyI{0..63}.
- isdn-tty
- Also creates isdn4linux virtual modem ports
ttyI{0..7}.
- isdnbri
- Creates ISDN BRI driver devices isdn{0..63} isdnctrl{0..63}
ippp{0..63} and isdninfo.
- isdn-io
- Also creates ISDN BRI driver devices isdn{0..7} isdnctrl{0..7}
ippp{0..7} and isdninfo. The isdn-ippp keyword can be
used separately to create only the ippp{0..7} devices.
- ppp
- Creates a device independent PPP interface.
- dcbri
- Creates Spellcaster DataComm/BRI ISDN card devices
dcbri{0..3}.
- riscom or
ttyL
- Creates Riscom serial card ports ttyL{0..15}.
- PAM or
ttyM
- Creates PAM multimodem (or ISI serial card) ports
ttyM{0..15}.
- ESP or
ttyP
- Creates ESP ports ttyP{0..4}.
- rocketport
or ttyR
- Creates Rocketport devices ttyR{0..63}.
- ttyV
- Creates Comtrol VS-1000 serial controller ports
ttyV{0..15}.
- specialixIO8
or ttyW
- Creates Specialix IO8+ ports ttyW{0..15}.
- specialix or
ttyX
- Creates Specialix ports ttyX{0..15}.
- i2c
- Creates i2c{0..7} devices for the I2C bus interface.
- tlk
- Philips SAA5249 Teletext signal decoder {2.6} ports
tlk{0..3}.
- lp
- Creates the standard parallel ports lp0, lp1, and 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
lp1.
- par
- Alternative to lp. The same ports are created, but are named
par{0..2} instead of lp{0..2}.
- parport
- Creates raw parallel ports parport0, parport1, and
parport2.
- slm
- Creates the Atari SLM ACSI laser printer (68k/Atari) ports
slm{0..3}.
- pg
- Parallel port generic ATAPI interface (devices
pg{0..3}.
- paride
- Parallel port IDE disk devices pd{a..d} with 15 partitions
on each. Also creates pcd{0..3} and pf{0..3}.
- netlink or
tap
- Creates NetLink devices route skip fwmonitor and
tap{0..15} Ethertap devices. The tapx virtual
ethernet device was designed as low level kernel support for Ethernet
tunneling. Userland application can write Ethernet frame to
/dev/tapX and the kernel will receive this frame from tapX
interface. Every frame the kernel writes to a tapX interface can be
read by a userland application from the corresponding /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 adbmouse.
On m68k, adb creates the ACSI disk device adb and partitions
adb1 through adb15.
- hamradio
- Creates the scc{0..7} and bc{0..3} device
groups.
- comx
- Creates COMX devices comx{0..4}.
- irda
- Creates IrCOMM devices (IrDA serial/parallel emulation) ircomm0 ircomm1
irlpt0 and irlpt1.
- comedi
- Control and Measurement devices comedi{0..3}.
- 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:
amigamouse, amigamouse1, atarimouse and
adbmouse.
- input
- On powerpc, this keyword creates the input folder which groups
input devices mice, mouse{0..3},
event{0..3}, and js{0..3} (joystick),
and creates these devices inside.
- js
- Joystick. Creates js0 and js1.
- djs
- Digital joystick. Creates djs0 and djs1.
- 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:
lp{0..15} (printer), mouse{0..15} (USB
connected mice), ez{0..15} (firmware loaders)
scanner{0..15} (scanner interfaces),
ttyACM{0..15} and ttyUSB{0..15} (dialout
devices), and rio500 the Diamond Rio 500 device.
- fd{0..7}
- Floppy disk devices. The device fdx 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
fdx{dqhu}n. The single letter (d, q,
hor 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
fdxd360, fdxh1200,
fdx720, fdx1440,
and fdx2880.
- For more information see Alain Knaff's fdutils package.
- Devices fd0* through fd3* are floppy disks on
the first controller, and devices fd4* through
fd7* are floppy disks on the second controller.
- fd{0..7}-bare
- Creates just the autodetecting floppy device specified, without the fixed
format devices.
- hd{a..l}
- AT (ide) hard disks. The device hdx provides access to the
whole disk, with the partitions being hdx{1..63}. For
i386, the four primary partitions are hdx1 through
hdx4, with the logical partitions being numbered from
hdx5 though hdx20. (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
hd{e..l} can be created.
- xd{a..d}
- XT hard disks. Partitions are the same as IDE disks, except only 8
partitions are created.
- sd{a..h}
- SCSI hard disks. The partitions are similar to the IDE disks, but there is
a limit of 11 logical partitions sdx5 through
sdx15, to allow there to be 8 SCSI disks on a system
(addresses 0 through 7).
- sd{i..z}
- and sd{a..d}{a..z} The kernel (and MAKEDEV) can handle up to
128 SCSI disks (up to sddx). 15 partition devices are created for
each.
- eda edb
- MCA ESDI hard disk. Partitions are handled the same as hd.
- dasd{a..z}
- Direct Access Storage Devices for the s390 architecture. Currently only
one device partition is created (for example, dasda1).
- ada{a..p}
- ACSI disk (68k/Atari). 15 partitions are created for each.
- dac960.{0..7}
- Mylex DAC960 PCI RAID controller. For this device, an rd directory
is created. 32 logical devices cxd{0..31} are
created for each unit x specified, each with 7 partitions
cxd{0..31}p{1..7}. The
dac960 keyword will create all 7 units at once.
- dpti
- Adaptec I2O RAID and DPT SmartRAID V I2O controllers. Creates 7 devices
for handling up to 7 controllers.
- ataraid.{0..7}
- Obsolete, device not in current devices.txt. For this device, an
ataraid directory is created. dx is created for each
unit x specified, and 15 partitions
dxp{1..15}. The ataraid keyword
will create all 7 units at once.
- 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.
- ida.{0..7}
- Compaq Intelligent Drive Array. For this device, an ida directory
is created. 16 logical devices cxd{0..15} are
created for each unit x specified, each with 15 partitions
cxd{0..15}p{1..15}. The
ida keyword will create the first three units.
- cciss.{0..7}
- Compaq Next Generation Drive Array. For this device, a cciss
directory is created. 16 logical devices
cxd{0..15} are created for each unit x
specified, each with 15 partitions
cxd{0..15}p{1..15}. The
cciss keyword will create the first three units.
- md
- Creates Metadisk (RAID) disk array with 16 devices.
- st{0..7}
- SCSI tape devices. This creates the rewinding tape device
stx and the non-rewinding tape device
nstx, 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 rmt8, rmt16,
tape-d, and 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 qftx zqftx and rawqftx
(rewinding) and nqftx nzqftx
nrawqdtx (non-rewinding) are created. For compatibility,
devices ftape and nftape are symlinks to qft0 and
nqft0 respectively.
- ht0
- Creates IDE tape devices ht0 and nht0.
- pt{0..3}
- Creates parallel port ATAPI tape devices pt{0..3} and
npt{0..3}.
- sr or scd or
scd-all
- Creates scd{0..16} SCSI CD players and
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 MAKEDEV.
- pktcdvd
- Provides packet writing devices pktcdvd{0..3} for
CD/DVD.
- pcd{0..3}
- Parallel port ATAPI CD-ROM devices
- sonycd
- Sony CDU-31a CD-ROM
- mcd
- Mitsumi CD-ROM
- mcdx
- Obsolete, device not in current devices.txt.
- cdu535
- Sony CDU-535 CD-ROM
- lmscd
- Philips LMS CM-205 CD-ROM. The newer name for this device is 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 sbpcd.
- aztcd
- Aztech/Orchid/Okano/Wearnes CD-ROM
- gscd
- GoldStar CD-ROM
- optcd
- Optics Storage CD-ROM
- sjcd
- Sanyo CD-ROM
- hitcd
- Hitachi CD-ROM
- 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 midi03, midi{0..3},
rmidi{0..3}, smpte{0..3}. In
addition, devices mpu401data and mpu401stat are
created.
- pcaudio
- Devices for the PC Speaker sound driver. These are pcmixer,
pxsp, and pcaudio.
- fb
- Creates framebuffer devices fb{0..7},
fb{0..7}current,
fb{0..7}autodetect.
- fb{0..7}
- If the framebuffer number x is specifed, a group of
fbxuser{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 video{0..63}, Radio devices
radio{0..63}, Teletext devices
vtx{0..31}, and Vertical blank interrupt devices
vbi{0..31}. In addition, the winradio0 and
winradio1 devices, and vtx and vttuner devices, and
symlinks radio video and vbi are created.
- srnd
- miroMEDIA Surround board devices srnd0 and srnd1.
- fgrab
- Matrox Meteor frame grabber {2.6}. Creates mmetfgrab,
wvisfgrab, iscc0, iscc1, isccctl0,
isccctl1, dcxx0, and dcxx1.
- sg or
sg-all
- Generic SCSI devices. The devices created are sg0 through
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
x, use /dev/fd/x as the file name. This also creates
/dev/stdin, /dev/stdout, and /dev/stderr. (Note,
these are just symlinks into /proc/self/fd).
- ibcs2
- Devices socksys spx (and symlinks 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.
- xfs or
arla
- Arla XFS network file system.
- capi
- CAPI 2.0 interface ports capi20{01..20}.
- ubd
- User-mode block devices ubd{0..255}.
- nb{0..7}
- Network block devices.
- raw
- Creates the raw block device interface raw device, the
rawctl symlink, and 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. logibm, psaux, inportbm, atibm,
jbm, amigamouse, atarimouse, sunmouse,
amigamouse1, smouse, pc110pad, adbmouse,
beep, modreq, watchdog, temperature,
hwtrap, exttrp, apm_bios, rtc,
openprom, relay8, relay16, msr,
pciconf, nvram, hfmodem, led, mergemem,
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.
Linux Allocated Devices, maintained by H. Peter Anvin,
<Peter.Anvin@linux.org>, and devices.txt in the Linux kernel
source.
Nick Holloway, rewritten and updated by Chris Tillman