MAKEDEV(8) |
System Manager's Manual |
MAKEDEV(8) |
NAME
MAKEDEV — create system and device special files
SYNOPSIS
MAKEDEV |
[-fMsu] [-m mknod] [-p pax] [-t mtree] {special | device} [...] |
DESCRIPTION
MAKEDEV is used to create system and device special files. As arguments it takes the names of known devices, like
sd0, or of special targets, like
all or
std, which create a collection of device special files, or
local, which invokes
MAKEDEV.local(8) with the
all argument.
The script is in /dev/MAKEDEV. Devices are created in the current working directory; in normal use, MAKEDEV should be invoked with /dev as the current working directory.
Supported options are:
-
-f
-
Force permissions to be updated on existing devices. This works only if MAKEDEV invokes mknod(8); it is not compatible with the -p, -s, or -t options.
-
-M
-
Create a memory file system, union mounted over the current directory, to contain the device special files. The memory file system is created using mount_tmpfs(8) or mount_mfs(8), in that order of preference.
If the -M flag is specified more than once, then MAKEDEV assumes that it is being invoked from init(8) to populate a memory file system for /dev. In this case, MAKEDEV will also redirect its output to the system console.
-
-m mknod
-
Force the use of mknod(8), and specify the name or path to the mknod(8) program. [Usually, $TOOL_MKNOD or mknod.]
-
-p pax
-
Force the use of pax(1), and specify the name or path to the pax(1) program. [Usually, $TOOL_PAX or pax.]
-
-s
-
Generate an mtree(8) specfile instead of creating devices.
-
-t mtree
-
Force the use of mtree(8), and specify the name or path to the mtree(8) program. [Usually, $TOOL_MTREE or mtree.]
-
-u
-
Don't re-create devices that already exist.
MAKEDEV has several possible methods of creating device nodes:
The -m, -p, -s, and -t flags are mutually exclusive. If none of these flags is specified, then MAKEDEV will use mtree(8), pax(1), or mknod(8), in that order of preference, depending on which commands appear to be available and usable. In normal use, it's expected that mtree(8) will be available, so it will be chosen. If MAKEDEV is invoked by init(8), it's expected that mtree(8) will not be available, but pax(1) may be available.
The special targets supported on NetBSD are:
-
all
-
Makes all known devices, including local devices. Tries to make the 'standard' number of each type.
-
init
-
A set of devices that is used for MFS /dev by init. May be equal to ``all''.
-
floppy
-
Devices to be put on install floppies
-
ramdisk
-
Devices to be put into INSTALL kernel ramdisks.
-
std
-
Standard devices
-
local
-
Configuration specific devices
-
wscons
-
Make wscons devices
-
usbs
-
Make USB devices
-
isdns
-
Make ISDN devices
Please note that any hash marks (“#”) in the following list of supported device targets must be replaced by digits when calling MAKEDEV:
-
Tapes:
-
-
st#
-
SCSI tapes, see st(4)
-
wt#
-
QIC-interfaced (e.g. not SCSI) 3M cartridge tape, see wt(4)
-
ht#
-
MASSBUS TM03 and TU??, see vax/ht(4)
-
mt#
-
MSCP tapes (e.g. TU81, TK50), see vax/mt(4)
-
tm#
-
UNIBUS TM11 and TE10 emulations (e.g. Emulex TC-11), see vax/tm(4)
-
ts#
-
UNIBUS TS11, see vax/ts(4)
-
ut#
-
UNIBUS TU45 emulations (e.g. si 9700), see vax/ut(4)
-
uu#
-
TU58 cassettes on DL11 controller, see vax/uu(4)
-
Disks:
-
-
ccd#
-
Concatenated disk devices, see ccd(4)
-
cd#
-
SCSI or ATAPI CD-ROM, see cd(4)
-
cgd#
-
Cryptographic disk devices, see cgd(4)
-
raid#
-
RAIDframe disk devices, see raid(4)
-
sd#
-
SCSI disks, see sd(4)
-
wd#
-
``winchester'' disk drives (ST506,IDE,ESDI,RLL,...), see wd(4)
-
bmd#
-
Nereid bank memory disks, see x68k/bmd(4)
-
ed#
-
IBM PS/2 ESDI disk devices, see edc(4)
-
fd#
-
``floppy'' disk drives (3 1/2", 5 1/4"), see amiga/fdc(4), sparc64/fdc(4), x86/fdc(4)
-
fss#
-
Files system snapshot devices, see fss(4)
-
gdrom#
-
Dreamcast ``gigadisc'' CD-ROM drive, see dreamcast/gdrom(4)
-
hk#
-
UNIBUS RK06 and RK07, see vax/hk(4)
-
hp#
-
MASSBUS RM??, see vax/hp(4)
-
ld#
-
Logical disk devices (e.g., hardware RAID), see ld(4)
-
mcd#
-
Mitsumi CD-ROM, see mcd(4)
-
md#
-
Memory pseudo-disk devices, see md(4)
-
ofdisk#
-
OpenFirmware disk devices
-
ra#
-
MSCP disks (RA??, RD??)
-
rb#
-
730 IDC w/ RB80 and/or RB02
-
rd#
-
HDC9224 RD disks on VS2000, see hp300/rd(4)
-
rl#
-
UNIBUS RL02, see vax/rl(4)
-
rx#
-
MSCP floppy disk (RX33/50/...)
-
up#
-
Other UNIBUS devices (e.g. on Emulex SC-21V controller), see vax/up(4)
-
vnd#
-
``file'' pseudo-disks, see vnd(4)
-
xbd#
-
Xen virtual disks, see xbd(4)
-
xd#
-
Xylogic 753/7053 disks, see sparc/xd(4)
-
xy#
-
Xylogic 450/451 disks, see sparc/xy(4)
-
Pointing devices:
-
-
wsmouse#
-
wscons mouse events, see wsmouse(4)
-
lms#
-
Logitech bus mouse, see i386/lms(4)
-
mms#
-
Microsoft bus mouse, see dreamcast/mms(4), i386/mms(4)
-
qms#
-
``quadrature mouse'', see acorn32/qms(4)
-
pms#
-
PS/2 mouse
-
mouse
-
Mouse (provides events, for X11)
-
Keyboard devices:
-
-
wskbd#
-
wscons keyboard events, see wskbd(4)
-
kbd
-
Raw keyboard (provides events, for X11), see sparc/kbd(4), sun2/kbd(4), sun3/kbd(4)
-
kbdctl
-
Keyboard control
-
Terminals/Console ports:
-
-
tty[01]#
-
Standard serial ports, see tty(4)
-
tty0#
-
SB1250 (``sbscn'') serial ports (sbmips), see tty(4)
-
ttyE#
-
wscons - Workstation console (``wscons'') glass-tty emulators
-
ttyCZ?
-
Cyclades-Z multiport serial boards. Each ``unit'' makes 64 ports., see cz(4)
-
ttyCY?
-
Cyclom-Y multiport serial boards. Each ``unit'' makes 32 ports., see cy(4)
-
ttye#
-
ITE bitmapped consoles, see amiga/ite(4)
-
ttyv0
-
pccons
-
ttyC?
-
NS16550 (``com'') serial ports
-
ttyS#
-
SA1110 serial port (hpcarm)
-
ttyTX?
-
TX39 internal serial ports (hpcmips)
-
ttyB?
-
DEC 3000 ZS8530 (``scc'') serial ports (alpha), see scc(4)
-
ttyA#
-
Mfc serial ports (amiga)
-
ttyB#
-
Msc serial ports (amiga)
-
ttyC#
-
Com style serial ports (DraCo, HyperCom) (amiga) On the DraCo, units 0 and 1 are the built-in ``modem'' and ``mouse'' ports, if configured.
-
ttyA0
-
8530 Channel A (formerly ser02) (atari)
-
ttyA1
-
8530 Channel B (formerly mdm02) (atari)
-
ttyB0
-
UART on first 68901 (formerly mdm01) (atari)
-
ixpcom
-
IXP12x0 COM ports
-
epcom
-
EP93xx COM ports
-
ttyM?
-
HP200/300 4 port serial mux interface (hp300)
-
ttya
-
``ttya'' system console (luna68k)
-
ttyb
-
Second system serial port (luna68k)
-
tty#
-
Onboard serial ports (mvme68k) On the mvme147 these are: ttyZ1, ttyZ2 and ttyZ3. On the mvme167, and '177: ttyC1, ttyC2 and ttyC3. Note that tty[CZ]0 is grabbed by the console device so is not created by default, see tty(4)
-
dc#
-
PMAX 4 channel serial interface (kbd, mouse, modem, printer)
-
scc#
-
82530 serial interface (pmax), see scc(4)
-
ttyZ#
-
Zilog 8530 (``zstty'') serial ports, see zstty(4)
-
tty[abcd]
-
Built-in serial ports (sparc)
-
tty#
-
Z88530 serial controllers (sparc64), see tty(4)
-
ttyh#
-
SAB82532 serial controllers (sparc64), see sparc64/sab(4)
-
tty[a-j]
-
Built-in serial ports (sun2, sun3)
-
ttyC?
-
pccons (arc)
-
dz#
-
UNIBUS DZ11 and DZ32 (vax), see emips/dz(4), vax/dz(4)
-
dh#
-
UNIBUS DH11 and emulations (e.g. Able DMAX, Emulex CS-11) (vax), see vax/dh(4)
-
dmf#
-
UNIBUS DMF32 (vax), see vax/dmf(4)
-
dhu#
-
UNIBUS DHU11 (vax), see vax/dhu(4)
-
dmz#
-
UNIBUS DMZ32 (vax), see vax/dmz(4)
-
dl#
-
UNIBUS DL11 (vax), see vax/dl(4)
-
xencons
-
Xen virtual console
-
Terminal multiplexors:
-
-
dc#
-
4 channel serial interface (keyboard, mouse, modem, printer)
-
dh#
-
UNIBUS DH11 and emulations (e.g. Able DMAX, Emulex CS-11), see vax/dh(4)
-
dhu#
-
UNIBUS DHU11, see vax/dhu(4)
-
dl#
-
UNIBUS DL11, see vax/dl(4)
-
dmf#
-
UNIBUS DMF32, see vax/dmf(4)
-
dmz#
-
UNIBUS DMZ32, see vax/dmz(4)
-
dz#
-
UNIBUS DZ11 and DZ32, see emips/dz(4), vax/dz(4)
-
scc#
-
82530 serial interface, see scc(4)
-
Call units:
-
-
dn#
-
UNIBUS DN11 and emulations (e.g. Able Quadracall), see vax/dn(4)
-
Pseudo terminals:
-
-
ptm
-
Pty multiplexor device, and pts directory, see ptm(4)
-
pty#
-
Set of 16 master and slave pseudo terminals, see pty(4)
-
opty
-
First 16 ptys, to save inodes on install media
-
ipty
-
First 2 ptys, for install media use only
-
Printers:
-
-
arcpp#
-
Archimedes parallel port
-
lpt#
-
Stock lp, see lpt(4), acorn32/lpt(4), mvme68k/lpt(4), x86/lpt(4)
-
lpa#
-
Interruptless lp
-
par#
-
Amiga motherboard parallel port
-
cpi#
-
Macintosh Nubus CSI parallel printer card, see mac68k/cpi(4)
-
USB devices:
-
-
usb#
-
USB control devices, see usb(4)
-
uhid#
-
USB generic HID devices, see uhid(4)
-
ulpt#
-
USB printer devices, see ulpt(4)
-
ugen#
-
USB generic devices, see ugen(4)
-
urio#
-
USB Diamond Rio 500 devices, see urio(4)
-
uscanner#
-
USB scanners, see uscanner(4)
-
ttyHS#
-
USB Option N.V. modems
-
ttyU#
-
USB modems, see ucom(4)
-
ttyY#
-
USB serial adapters
-
ISDN devices:
-
-
isdn
-
Communication between userland isdnd and kernel, see isdn(4)
-
isdnctl
-
Control device, see isdnctl(4)
-
isdnbchan#
-
Raw b-channel access, see isdnbchan(4)
-
isdntel#
-
Telephony device, see isdntel(4)
-
isdnteld#
-
Telephony dialout device
-
isdntrc#
-
Trace device, see isdntrc(4)
-
Video devices:
-
-
bwtwo#
-
Monochromatic frame buffer, see sparc/bwtwo(4), sun2/bwtwo(4), sun3/bwtwo(4)
-
cgtwo#
-
8-bit color frame buffer, see sparc/cgtwo(4), sun3/cgtwo(4)
-
cgthree#
-
8-bit color frame buffer, see sparc/cgthree(4)
-
cgfour#
-
8-bit color frame buffer, see sparc/cgfour(4), sun3/cgfour(4)
-
cgsix#
-
Accelerated 8-bit color frame buffer, see sparc/cgsix(4)
-
cgeight#
-
24-bit color frame buffer, see sparc/cgeight(4)
-
etvme
-
Tseng et-compatible cards on VME (atari)
-
ik#
-
UNIBUS interface to Ikonas frame buffer, see vax/ik(4)
-
leo
-
Circad Leonardo VME-bus true color (atari)
-
ps#
-
UNIBUS interface to Picture System 2, see vax/ps(4)
-
qv#
-
QVSS (MicroVAX) display
-
tcx#
-
Accelerated 8/24-bit color frame buffer, see sparc/tcx(4)
-
Maple bus devices:
-
-
maple
-
Maple bus control devices, see dreamcast/maple(4)
-
mlcd#
-
Maple bus LCD devices, see dreamcast/mlcd(4)
-
mmem#
-
Maple bus storage devices, see dreamcast/mmem(4)
-
IEEE1394 bus devices:
-
-
fw#
-
IEEE1394 bus generic node access devices
-
fwmem#
-
IEEE1394 bus physical memory of the remote node access devices
-
Special purpose devices:
-
-
ad#
-
UNIBUS interface to Data Translation A/D converter, see vax/ad(4)
-
agp#
-
AGP GART devices, see agp(4)
-
altq
-
ALTQ control interface, see altq(4)
-
amr#
-
AMI MegaRaid control device, see amr(4)
-
apm
-
Power management device, see i386/apm(4)
-
audio#
-
Audio devices, see audio(4)
-
bell#
-
OPM bell device (x68k)
-
bktr
-
Brooktree 848/849/878/879 based TV cards, see bktr(4)
-
bpf
-
Packet filter, see bpf(4)
-
bthub
-
Bluetooth Device Hub control interface, see bthub(4)
-
cfs#
-
Coda file system device
-
ch#
-
SCSI media changer, see ch(4)
-
cir#
-
Consumer IR, see cir(4)
-
clockctl
-
Clock control for non root users, see clockctl(4)
-
cpuctl
-
CPU control
-
crypto
-
Hardware crypto access driver, see crypto(4)
-
dmoverio
-
Hardware-assisted data movers, see dmoverio(4)
-
dpt#
-
DPT/Adaptec EATA RAID management interface, see dpt(4)
-
dpti#
-
DPT/Adaptec I2O RAID management interface, see dpti(4)
-
drm#
-
Direct Rendering Manager interface, see drm(4)
-
dtv#
-
Digital TV interface, see dtv(4)
-
fb#
-
PMAX generic framebuffer pseudo-device
-
fd
-
File descriptors
-
grf#
-
Graphics frame buffer device, see amiga/grf(4)
-
hdaudio#
-
High Definition audio control device, see hdaudio(4)
-
hil
-
HP300 HIL input devices, see hil(4)
-
icp
-
ICP-Vortex/Intel RAID control interface, see icp(4)
-
iic#
-
IIC bus device, see iic(4)
-
io
-
X86 IOPL access for COMPAT_10, COMPAT_FREEBSD, see hp700/io(4), i386/io(4)
-
iop#
-
I2O IOP control interface, see iop(4)
-
ipl
-
IP Filter
-
irframe#
-
IrDA physical frame, see irframe(4)
-
ite#
-
Terminal emulator interface to HP300 graphics devices, see amiga/ite(4)
-
joy#
-
Joystick device, see joy(4)
-
kttcp
-
Kernel ttcp helper device, see kttcp(4)
-
lockstat
-
Kernel locking statistics
-
magma#
-
Magma multiport serial/parallel cards, see sparc/magma(4)
-
midi#
-
MIDI, see midi(4)
-
mlx#
-
Mylex DAC960 control interface, see mlx(4)
-
mly#
-
Mylex AcceleRAID/eXtremeRAID control interface, see mly(4)
-
np#
-
UNIBUS Ethernet co-processor interface, for downloading., see vax/np(4)
-
npf
-
NPF packet filter
-
nsmb#
-
SMB requester, see nsmb(4)
-
openfirm
-
OpenFirmware accessor
-
pad#
-
Pseudo-audio device driver, see pad(4)
-
pci#
-
PCI bus access devices, see pci(4)
-
pf
-
PF packet filter
-
putter
-
Pass-to-Userspace Transporter
-
px#
-
PixelStamp Xserver access, see px(4)
-
radio#
-
Radio devices, see radio(4)
-
random
-
Random number generator, see rnd(4)
-
rtc#
-
RealTimeClock, see atari/rtc(4), evbppc/rtc(4), hp300/rtc(4)
-
satlink#
-
PlanetConnect satellite receiver driver
-
scsibus#
-
SCSI busses, see scsi(4)
-
se#
-
SCSI Ethernet, see se(4)
-
ses#
-
SES/SAF-TE SCSI Devices, see ses(4)
-
speaker
-
PC speaker, see speaker(4)
-
sram
-
Battery backuped memory (x68k)
-
ss#
-
SCSI scanner, see ss(4)
-
stic#
-
PixelStamp interface chip
-
sysmon
-
System Monitoring hardware, see envsys(4)
-
tap#
-
Virtual Ethernet device, see tap(4)
-
tun#
-
Network tunnel driver, see tun(4)
-
twa
-
3ware Apache control interface, see twa(4)
-
twe
-
3ware Escalade control interface, see twe(4)
-
uk#
-
Unknown SCSI device, see uk(4)
-
veriexec
-
Veriexec fingerprint loader, see veriexec(4)
-
video#
-
Video capture devices, see video(4)
-
view#
-
Generic interface to graphic displays (Amiga)
-
vmegen#
-
Generic VME access
-
wsfont#
-
Console font control, see wsfont(4)
-
wsmux#
-
wscons event multiplexor, see wsmux(4)
-
xenevt
-
Xen event interface
-
iSCSI communication devices
-
-
iscsi#
-
ISCSI driver and /sbin/iscsid communication
ENVIRONMENT
The following environment variables affect the execution of
MAKEDEV:
-
MAKEDEV_AS_LIBRARY
-
If this is set, then MAKEDEV will define several shell functions and then return, ignoring all its command line options and arguments. This is used to enable MAKEDEV.local(8) to use the shell functions defined in MAKEDEV.
FILES
-
/dev
-
special device files directory
-
/dev/MAKEDEV
-
script described in this man page
-
/dev/MAKEDEV.local
-
script for site-specific devices
DIAGNOSTICS
If the script reports an error that is difficult to understand, you can get more debugging output by using
sh -x MAKEDEV argument.
HISTORY
The MAKEDEV command appeared in 4.2BSD. The -f, -m, and -s options were added in NetBSD 2.0. The -p, -t, and -M options were added in NetBSD 5.0. The ability to be used as a function library was added in NetBSD 5.0.
BUGS
The
-f option is not compatible with the use of
mtree(8) or
pax(1).
NOTES
Not all devices listed in this manpage are supported on all platforms.
This man page is generated automatically from the same sources as /dev/MAKEDEV, in which the device files are not always sorted, which may result in an unusual (non-alphabetical) order.
In order to allow a diskless NetBSD client to obtain its /dev directory from a file server running a foreign operating system, one of the following techniques may be useful to populate a directory of device nodes on the foreign server:
-
If the foreign server is sufficiently similar to NetBSD, run MAKEDEV in an appropriate directory of the foreign server, using the -m flag to refer to a script that converts from command line arguments that would be usable with the NetBSD mknod(8) command to the equivalent commands for the foreign server.
-
Run MAKEDEV with the -s flag to generate an mtree(8) specification file; this can be done on any host with a POSIX-compliant shell and a few widely-available utilities. Use the pax(1) command with the -w -M flags to convert the mtree(8) specification file into an archive in a format that supports device nodes (such as ustar format); this can be done on a NetBSD host, or can be done in a cross-build environment using TOOLDIR/bin/nbpax. Finally, use apropriate tools on the foreign server to unpack the archive and create the device nodes.