Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
MAKEDEV(8)		  BSD System Manager's Manual		    MAKEDEV(8)

     MAKEDEV --	create system and device special files

     MAKEDEV [-fMsu] [-m mknod]	[-p pax] [-t mtree] {special | device} [...]

     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	work-
     ing 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 as-
		 sumes 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:

     +o	 By invoking the mknod(8) command once for each	device node.  This is
	 the traditional method, but it	is slow	because	each device node is
	 created using a new process.

	 The -m	option forces MAKEDEV to use the mknod(8) method.

     +o	 By internally creating	a specfile in a	format usable by mtree(8), and
	 providing the specfile	on standard input to a pax(1) or mtree(8) com-
	 mand, invoked with options that request it to create the device nodes
	 as well as any	necessary subdirectories.  This	is much	faster than
	 creating device nodes with mknod(8), because it requires much fewer
	 processes; however, it's not compatible with the -f option.

	 The -p	or -t options force MAKEDEV to use the pax(1) or mtree(8)

     +o	 If the	-s option is specified,	then MAKEDEV will not create device
	 nodes at all, but will	output a specfile in a format usable by

     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 avail-

     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:

	 st#	     SCSI tapes, see st(4)
	 wt#	     QIC-interfaced (e.g. not SCSI) 3M cartridge tape, see
	 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
	 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)

	 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
	 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
	 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 emu-
	 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
	 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,
	 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,
	 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

     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

	 arcpp#	     Archimedes	parallel port
	 lpt#	     Stock lp, see lpt(4), acorn32/lpt(4), mvme68k/lpt(4),
	 lpa#	     Interruptless lp
	 par#	     Amiga motherboard parallel	port
	 cpi#	     Macintosh Nubus CSI parallel printer card,	see

     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
	 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),
	 cgthree#    8-bit color frame buffer, see sparc/cgthree(4)
	 cgfour#     8-bit color frame buffer, see sparc/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

     Special purpose devices:
	 ad#	     UNIBUS interface to Data Translation A/D converter, see
	 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
	 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),
	 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

     The following environment variables affect	the execution of MAKEDEV:

	     If	this is	set, then MAKEDEV will define several shell functions
	     and then return, ignoring all its command line options and	argu-
	     ments.  This is used to enable MAKEDEV.local(8) to	use the	shell
	     functions defined in MAKEDEV.

     /dev		 special device	files directory
     /dev/MAKEDEV	 script	described in this man page
     /dev/MAKEDEV.local	 script	for site-specific devices

     If	the script reports an error that is difficult to understand, you can
     get more debugging	output by using
	   sh -x MAKEDEV argument.

     config(1),	pax(1),	intro(4), diskless(8), init(8),	MAKEDEV.local(8),
     mknod(8), mount_mfs(8), mount_tmpfs(8), mtree(8)

     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.

     The -f option is not compatible with the use of mtree(8) or pax(1).

     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 follow-
     ing techniques may	be useful to populate a	directory of device nodes on
     the foreign server:

     +o	 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.

     +o	 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 envi-
	 ronment using TOOLDIR/bin/nbpax.  Finally, use	apropriate tools on
	 the foreign server to unpack the archive and create the device	nodes.

BSD			       January 21, 2012				   BSD


Want to link to this manual page? Use this URL:

home | help