MAKEDEV
create devices
Synopsis
cd /dev;
./MAKEDEV [ -n ] [ -v ] [ update ]
cd /dev; ./MAKEDEV [ -n ] [ -v ] [ generic ] [ local ] [
group-keyword ... device ... ]
cd /dev; ./MAKEDEV [ -n ] [ -v ] [ -d ] device
...
add an example, a script, a trick and tips
examples
source
$ROOTCMD /sbin/MAKEDEV urandom
$ROOTCMD /sbin/MAKEDEV random
$ROOTCMD /sbin/MAKEDEV -m 16 hda
$ROOTCMD /sbin/MAKEDEV sda
$ROOTCMD /sbin/MAKEDEV sda
$ROOTCMD /sbin/MAKEDEV sdb
$ROOTCMD /sbin/MAKEDEV rtc
source
$ROOTCMD /sbin/MAKEDEV urandom
$ROOTCMD /sbin/MAKEDEV random
$ROOTCMD /sbin/MAKEDEV -m 16 hda
$ROOTCMD /sbin/MAKEDEV sda
$ROOTCMD /sbin/MAKEDEV sda
$ROOTCMD /sbin/MAKEDEV sdb
$ROOTCMD /sbin/MAKEDEV rtc
$ROOTCMD /sbin/MAKEDEV cciss
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 -n.
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 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.
cdrom devices
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
console devices
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.
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.
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.
disk devices
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.
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 MAKEDEV.local. This is a script that can
create any local devices.
joystick devices
js
Joystick. Creates js0 and js1.
djs
Digital joystick. Creates djs0 and djs1.
memory devices
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.
miscellaneous devices
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.
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:
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.
other bus ports
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}.
other devices
Many of these devices are architecture-specific.
scc
Z8530 HDLC driver (HAM radio)
bc
Baycom radio modem (HAM radio)
cfs0 or cfs or coda
Coda network file system
sunmouse
Sun mouse
smouse
Simple serial mouse driver
pc110pad
IBM PC-110 digitizer pad
vrtpanel
Vr41xx embedded touch panel
vpcmouse
Connectix Virtual PC Mouse
beep
Fancy beep device
modreq
Kernel module load request {2.6}
watchdog
Watchdog timer port
temperature
Machine internal temperature
hwtrap
Hardware fault trap
exttrp
External device trap
rtc
Real Time Clock
efirtc
Real Time Clock
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
led
Front panel LEDs
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
smapi or thinkpad
IBM Thinkpad smapi device, and a symlink thinkpad.
srripc
QNX4 API IPC manager
usemaclone
Semaphore clone device
ipmi or ipmikcs
Intelligent Platform Management
uctrl
SPARCbook 3 microcontroller
gtrsc
Gorgy Timing radio clock
cbm
Serial CBM bus
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
irnet
IrNET device
smbusbios
SMBus BIOS
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
parallel ports
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}.
pseudo terminals
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}.
scanners
logiscan
Logitech ScanMan32 & ScanMan 256.
m105scan
Mustek M105 Handscanner.
ac4096
A4Tek Color Handscanner.
serial devices
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}.
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), 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).
tape 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}.
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: 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.
video devices
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.
see also
Linux Allocated
Devices, maintained by H. Peter Anvin,
<Peter.Anvin[:at:]linux[:dot:]org>, and devices.txt in the Linux
kernel source.
author
Nick Holloway,
rewritten and updated by Chris Tillman