MAKEDEV (8) Linux Manual Page
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 …
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
MAKEDEVitself. -v- Be verbose. Print out the actions as they are performed. This is the same output as produced by
-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/MAKEDEVscript itself for details. local- This simply runs
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:
memfor access to physical memory,kmemfor access to kernel virtual memory,nullthe null device (infinite sink),portfor access to I/O ports,zerothe null byte source (infinite source),core, a symlink to /proc/kcore (for kernel debugging),fullwhich always returns ENOSPACE on write,randomandurandomrandom byte generators, andttyto access the controlling tty of a process. The loopback disk devicesloop0throughloop7are also created in thestdgroup. 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.loopmay also be used as a separate keyword to create the 8 loop devices. Finally, theramgroup of memory devices is also created by thestdkeyword (see below).
Memory Devices
ram- This is the keyword used to generate the ramdisk devices
ram{0..16} and theramsymlink. This group does not includeinitrd. initrd- Ramdisk which has been pre-initialized by a bootloader.
initrdis not created in theramgroup; 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 devicesmicrocode, and subfolders{0..3}each containing devicesmsrandcpuid. rom- Creates the
rom{0..7}rrom{0..7}flaxh{0..7} andrflash{0..7} flash memory card devices.rromandrflashdevices are read-only.
Console Devices
console- This keyword creates virtual consoles;
tty{0..63} devices, the correspondingvcsandvcsadevices which are used to generate screen-dumps, and theconsoledevice itself plus appropriate symlinks. To create the console device alone, useconsoleonly. The devicetty0is the currently active virtual console. Theconsoledevice serves the same function.
Pseudo Terminals
pty- This keyword creates the Pseudo-TTY masters
pty{a..e,p..z} and correspondingtty{a..e,p..z} devices, along withptmx. Each possible argument will create a bank of 16 master and slave pairs. The master pseudo-terminals arepty{p..s}{0..9a..f}, and the slaves aretty{p..s}{0..9a..f}.
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 thegenericoption for most architectures. cycladesorttyC- Creates Cyclades ports
ttyC{0..31}. digiorttyD- Creates Digiboard serial card ports
ttyD{0..15}. stallionorttyE- Creates Stallion devices
ttyE{0..255} andstaliomem{0..3}. computoneorttyF- Creates CompuTone serial card ports
ttyH{0..255} and special devicesip2ipl{0,4,8,12}andip2stat{1,5,9,13}. chaseorttyH- Creates Chase serial card ports
ttyH{0..15}. isdnmodemorttyI- 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}andisdninfo. isdn-io- Also creates ISDN BRI driver devices
isdn{0..7} isdnctrl{0..7} ippp{0..7}andisdninfo. Theisdn-ipppkeyword can be used separately to create only theippp{0..7} devices. ppp- Creates a device independent PPP interface.
dcbri- Creates Spellcaster DataComm/BRI ISDN card devices
dcbri{0..3}. riscomorttyL- Creates Riscom serial card ports
ttyL{0..15}. PAMorttyM- Creates PAM multimodem (or ISI serial card) ports
ttyM{0..15}. ESPorttyP- Creates ESP ports
ttyP{0..4}. rocketportorttyR- Creates Rocketport devices
ttyR{0..63}. ttyV- Creates Comtrol VS-1000 serial controller ports
ttyV{0..15}. specialixIO8orttyW- Creates Specialix IO8+ ports
ttyW{0..15}. specialixorttyX- 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}.
Parallel Ports
- lp
- Creates the standard parallel ports
lp0,lp1, andlp2normally used for printers. These correspond to ports at 0x3bc, 0x378 and 0x278. Hence, on some machines, the first printer port may actually belp1. - par
- Alternative to lp. The same ports are created, but are named
par{0..2} instead oflp{0..2}. - parport
- Creates raw parallel ports
parport0,parport1, andparport2. 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 createspcd{0..3}andpf{0..3}.
Other Bus Ports
netlinkortap- Creates NetLink devices
route skip fwmonitorandtap{0..15} Ethertap devices. Thetapx virtual ethernet device was designed as low level kernel support for Ethernet tunneling. Userland application can write Ethernet frame to/dev/tapXand the kernel will receive this frame from tapX interface. Every frame the kernel writes to atapXinterface can be read by a userland application from the corresponding/dev/tapXdevice. enskip- ENskip kernel encryption package.
qng- ComScire Quantum Noise Generator.
ipsec- The Free S/WAN implementation of IPSEC.
adb- On powerpc, creates
adbfor the Apple Data Bus andadbmouse. On m68k,adbcreates the ACSI disk deviceadband partitionsadb1throughadb15. hamradio- Creates the
scc{0..7} andbc{0..3} device groups. comx- Creates COMX devices
comx{0..4}. irda- Creates IrCOMM devices (IrDA serial/parallel emulation)
ircomm0 ircomm1 irlpt0andirlpt1. comedi- Control and Measurement devices
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) andatibm(ATI XL bus mouse) andjbm(J-mouse). - m68k-mice
- Creates mouse devices for the m68k architecture, including:
amigamouse,amigamouse1,atarimouseandadbmouse. - input
- On powerpc, this keyword creates the input folder which groups input devices
mice,mouse{0..3},event{0..3}, andjs{0..3} (joystick), and creates these devices inside.
Joystick Devices
- js
- Joystick. Creates
js0andjs1. - djs
- Digital joystick. Creates
djs0anddjs1.
Usb Devices
usb- USB is a general purpose I/O bus which can serve many purposes. The
usbkeyword creates ausbfolder, 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} andttyUSB{0..15} (dialout devices), andrio500the Diamond Rio 500 device.
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 asfdx{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 arefdxd360,fdxh1200,fdx720,fdx1440, andfdx2880.- For more information see Alain Knaff’s fdutils package.
- Devices
fd0* throughfd3* are floppy disks on the first controller, and devicesfd4* throughfd7* are floppy disks on the second controller. - For more information see Alain Knaff’s fdutils package.
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 beinghdx{1..63}.For i386, the four primary partitions arehdx1throughhdx4,with the logical partitions being numbered fromhdx5thoughhdx20.(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
hdaandhdbare the two on the primary controllerhdcandhddare the two drives on the secondary controller. These devices can also be used to access IDE CDROMs. Additional deviceshd{e..l} can be created. - Drives
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
sdx5throughsdx15,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 tosddx). 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
rddirectory is created. 32 logical devicescxd{0..31} are created for each unit x specified, each with 7 partitionscxd{0..31}p{1..7}. Thedac960keyword 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
ataraiddirectory is created.dx is created for each unit x specified, and 15 partitionsdxp{1..15}. Theataraidkeyword will create all 7 units at once. i2o.hd{a..d}{a..z}- I2O based harddisk drives. Device nodes are located in the
i2odirectory. 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
idadirectory is created. 16 logical devicescxd{0..15} are created for each unit x specified, each with 15 partitionscxd{0..15}p{1..15}. Theidakeyword will create the first three units. cciss.{0..7}- Compaq Next Generation Drive Array. For this device, a
ccissdirectory is created. 16 logical devicescxd{0..15} are created for each unit x specified, each with 15 partitionscxd{0..15}p{1..15}. Theccisskeyword will create the first three units. md- Creates Metadisk (RAID) disk array with 16 devices.
Tape Devices
- st{0..7}
- SCSI tape devices. This creates the rewinding tape device
stx and the non-rewinding tape devicenstx,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 ntpqic150andtpqic150tape devices, along withrmt8,rmt16,tape-d, andtape-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 devicesqftxzqftx andrawqftx(rewinding) andnqftxnzqftxnrawqdtx (non-rewinding) are created. For compatibility, devicesftapeandnftapeare symlinks toqft0andnqft0respectively. ht0- Creates IDE tape devices
ht0andnht0. pt{0..3}- Creates parallel port ATAPI tape devices
pt{0..3}andnpt{0..3}.
Cdrom Devices
srorscdorscd-all- Creates
scd{0..16} SCSI CD players andsr{0..16} symlinks for these devices.cdromis a symlink which can be created by the user to the active CD device. It is not created byMAKEDEV. 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
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) andaudio audio{1..3}(Sun-compatible digital audio). MIDI devices aremidi00throughmidi03,midi{0..3},rmidi{0..3},smpte{0..3}. In addition, devicesmpu401dataandmpu401statare created. - pcaudio
- Devices for the PC Speaker sound driver. These are
pcmixer,pxsp, andpcaudio.
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 devicesradio{0..63}, Teletext devicesvtx{0..31}, and Vertical blank interrupt devicesvbi{0..31}. In addition, thewinradio0andwinradio1devices, andvtxandvttunerdevices, and symlinksradio videoandvbiare created. srnd- miroMEDIA Surround board devices
srnd0andsrnd1. fgrab- Matrox Meteor frame grabber {2.6}. Creates
mmetfgrab,wvisfgrab,iscc0,iscc1,isccctl0,isccctl1,dcxx0, anddcxx1.
Miscellaneous Devices
- sg or sg-all
- Generic SCSI devices. The devices created are
sg0throughsg16. 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 symlinksnfsd XOR) needed by the IBCS2 emulation. - apm
apm_biosAdvanced Power Management BIOS device.- dcf
- Driver for DCF-77 radio clock.
- helloworld
- Kernel modules demonstration device. See the modules source.
xfsorarla- 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
rawdevice, therawctlsymlink, andraw{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.
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
smapidevice, and a symlinkthinkpad. - 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 1×00 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 [at] linux.org>, and devices.txt in the Linux kernel source.
Author
Nick Holloway, rewritten and updated by Chris Tillman
