Bash Cures Cancer
Learn the UNIX/Linux command line

Home     Man Pages     SpamDefeator


MAKEDEV(8)		  Linux Programmer's Manual		   MAKEDEV(8)



NAME
       MAKEDEV - create devices

SYNOPSIS
       /sbin/MAKEDEV -V
       /sbin/MAKEDEV  [ -d directory ] [ -D directory ] [ -c configdir ] [ -m
       maxdevices ] [-a] [-n] [-v] [-i] [-M] [-S] [-u] [-x]  device ...

DESCRIPTION
       MAKEDEV is a program 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 direc-
       tory'' 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
       -V     Print out version and exit.

       -a     Always create devices, even if they already exist and have  the
	      proper  permissions  and file context.  The default behavior is
	      to only (re-)create device nodes which appear to be missing  or
	      whose permissions differ from the configured values.

       -m maxdevices
	      Create  no  more	than  the specified number of devices for any
	      specification in a configuration file.

       -n     Do not actually update the devices, just print the actions that
	      would be performed.

       -M     Create symlinks, directories, and sockets belonging to the cur-
	      rent user, and print out the list of  devices  which  would  be
	      created in a format which is understood by RPM.

       -S     Do not actually update the devices, just print the actions that
	      would be performed in a format which can be fed to a shell.

       -d directory
	      Create the devices under directory instead of the default (usu-
	      ally /dev).

       -D directory
	      Compute  file  contexts for device creation as if the directory
	      specified for the -d flag were the specified  directory.	 This
	      is  useful  if the -d flag is being used to populate a chrooted
	      device directory.

       -u     Print the ownership and permissions for devices instead of cre-
	      ating them.  The information is formatted for use by udev.

       -x     Create  exactly  the  named  device.   By default, device names
	      which have the specified device name as the initial portion  of
	      their  name  are	also  created.	For example, specifying "tty"
	      will also trigger the creation of "tty1", "tty2", and so on.

       -v     Be verbose.  Print out the actions as they are performed.	 This
	      is the same output as produced by the -n option.

       -i     Ignore errors parsing configuration files.

CUSTOMIZATION
       Since there is currently no standardization in what names are used for
       system users and groups, it is possible that you may  need  to  modify
       MAKEDEV's configuration files to reflect your site's settings.

DEVICES
       Certain devices are required for minimal functionality.	These are:
	      mem  -  access to physical memory; null - null device (infinite
	      sink); port - access to I/O ports;  zero	-  null	 byte  source
	      (infinite	 source);  core	 - symlink to /proc/kcore (for kernel
	      debugging); full - always returns	 ENOSPACE  on  write;  ram  -
	      ramdisk; tty - to access the controlling tty of a process.

       Virtual Terminals

       console
	      This  creates  the  devices associated with the console.	These
	      are the virtual terminals ttyx, where x can be  from  0  though
	      63.   The	 device	 tty0 is the currently active VT, and is also
	      known as console.	 For each VT, there are two devices: vcsx and
	      vcsax,  which  can  be  used to generate screen-dumps of the VT
	      (vcsx is just the text, and vcsax includes the attributes).

       Serial Devices

       ttyS{0..63}
	      Serial ports.

       Pseudo Terminals

       pty[p-s]
	      Each possible argument will create a  bank  of  16  master  and
	      slave  pairs.   The  current kernel (1.2) is limited to 64 such
	      pairs.  The master pseudo-terminals are  pty[p-s][0-9a-f],  and
	      the slaves are tty[p-s][0-9a-f].

       Parallel Ports

       lp     Standard parallel ports.	The devices are created lp0, lp1, and
	      lp2.

       Bus Mice

       busmice
	      The various bus  mice  devices.	This  creates  the  following
	      devices:	logimouse  (Logitech  bus mouse), psmouse (PS/2-style
	      mouse), msmouse (Microsoft Inport bus mouse) and atimouse	 (ATI
	      XL bus mouse) and jmouse (J-mouse).

       Joystick Devices

       js     Joystick.	 Creates js0 and js1.

       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 fdxLn.  The single letter L identifies the
	      type of floppy disk (d = 5.25" DD, h = 5.25" HD, D = 3.5" DD, H
	      = 3.5" HD, E = 3.5" ED).	The number n represents the  capacity
	      of  that	format	in K.  Thus the standard formats are fdxd360,
	      fdxh1200, fdxD720, fdxH1440, and fdxE2880.

	      For more information see Alain Knaff's fdutils package.

	      Devices fd0* through fd3* are floppy disks on  the  first	 con-
	      troller,	and devices fd4* through fd7* are floppy disks on the
	      second controller.

       hd[a-d]
	      AT hard disks.  The device hdx provides  access  to  the	whole
	      disk,  with  the	partitions being hdx[0-20].  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	logi-
	      cal  partitions).	  By  default, only the devices for 4 logical
	      partitions are made.  The others can be  made  by	 uncommenting
	      them.

	      Drives  hda  and	hdb  are the two on the first controller.  If
	      using the new IDE driver (rather than the old HD driver),	 then
	      hdc  and	hdd  are  the two drives on the secondary controller.
	      These devices can also be used to acess IDE CDROMs if using the
	      new IDE driver.

       xd[a-d]
	      XT hard disks.  Partitions are the same as IDE disks.

       sd[a-z], sd[a-c][a-z], sdd[a-x]
	      SCSI  hard disks.	 The partitions are similar to the IDE disks,
	      but there is a limit of 11  logical  partitions  (sdx5  through
	      sdx15).  This is to allow there to be 128 SCSI disks.

       loop   Loopback	disk  devices.	These allow you to use a regular file
	      as a block device.  This means that images of  filesystems  can
	      be  mounted, and used as normal.	This creates 16 devices loop0
	      through loop15.

       Tape Devices

       st[0-7]
	      SCSI tapes.  This creates the rewinding tape device stx and the
	      non-rewinding tape device nstx.

       qic    QIC-80 tapes.  The devices created are 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 rftx  (rewinding)  and	 nrftx	(non-
	      rewinding)  are  created.	 For compatability, devices ftape and
	      nftape are symlinks to rft0 and nrft0 respectively.

       CDROM Devices

       scd[0-7]
	      SCSI CD players.

       sonycd Sony CDU-31A CD player.

       mcd    Mitsumi CD player.

       cdu535 Sony CDU-535 CD player.

       lmscd  LMS/Philips CD player.

       sbpcd{,1,2,3}
	      Sound Blaster CD player.	The kernel is capable  of  supporting
	      16  CDROMs,  each of which is accessed as sbpcd[0-9a-f].	These
	      are assigned in groups of 4 to each  controller.	 sbpcd	is  a
	      symlink to sbpcd0.

       Scanner

       logiscan
	      Logitech ScanMan32 & ScanMan 256.

       m105scan
	      Mustek M105 Handscanner.

       ac4096 A4Tek Color Handscanner.

       Audio

       sound  This creates the audio devices used by the sound driver.	These
	      include mixer, sequencer, dsp, and audio.

       Miscellaneous

       sg     Generic SCSI devices.  The devices created are sga through  sgh
	      and  sg0 through sg7.  These allow arbitary commands to be sent
	      to any SCSI device.  This allows for querying information about
	      the  device,  or	controlling  SCSI devices that are not one of
	      disk, tape or CDROM (e.g. scanner, CD-R, CD-RW).

       fd     To allow an arbitary program to be fed input from file descrip-
	      tor  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 (and symlinks) needed by the IBCS2 emulation.

       apm    Devices for power management.

       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 in /proc/net/dev.

       Other Devices
	      Note that the list of devices above is not exhaustive.  MAKEDEV
	      can create more devices nodes.  Its aim is to be able to create
	      everything  listed  in  the  devices.txt	file distributed with
	      Linux 2.4.


CONFIGURATION
       MAKEDEV doesn't actually know anything about devices.  It reads all of
       the  information	 from  files  stored in /etc/makedev.d.	 MAKEDEV will
       read any and all files in the subdirectory, processing lines  in	 them
       like so:

       devices
	      [b|c] mode owner group major minor inc count fmt [base]
	      count devices will be created, with permissions set to mode and
	      owned by owner and group.	 The first device will be named	 fmt,
	      and  additional devices will be created if count is larger than
	      1.  If fmt contains a C-style formatting	string,	 it  will  be
	      filled  with the sum of base and zero.  Subsequent devices will
	      be filled with the sum of base and n *  inc,  where  n  is  the
	      order  this  device  is being created in.	 If the format string
	      did not already include a format specifier, a "%d"  will	auto-
	      matically be appended to it to make this work.

       symbolic links
	      l linkname target
	      A	 symbolic link pointing to target named linkname will be cre-
	      ated.

       aliases
	      a alias value
	      Any commands that create devices for alias  will	also  include
	      devices that would be crated for value.


SEE ALSO
       Linux	Allocated    Devices,	 maintained   by   Torben   Mathiasen
       .

BUGS
       Let's hope not.	If we're lucky, any problems we'll find will be	 con-
       fined  to the configuration files, which were written by examining the
       devices.txt file.

AUTHOR
       Nalin Dahyabhai, based largely on  work	done  by  Nick	Holloway  and
       Michael K. Johnson.



Linux				 26 June 2001			   MAKEDEV(8)


UNIX/Linux commands referenced on this page:
  1. file
  2. which
  3. symlinks
  4. as
  5. users
  6. groups
  7. tty
  8. lp
  9. size
  10. floppy
  11. more
  12. cal
  13. mcd
  14. sg
  15. apm
  16. look
  17. fmt
  18. sum
  19. make
  20. link
  21. find