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

       MAKEDEV - create devices

       cd dev; ./MAKEDEV -V
       cd  dev;  ./MAKEDEV [ -d directory ] [ -c configdir ] [ -m maxdevices ]
       [-n] [-v] [-i] [-M] [-S]  device ...

       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.

       -V     Print out version and exit.

       -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 cre-
              ated 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).

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

       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.

       Certain devices are required for minimal functionality.  These are:
              mem - access to physical memory; kmem - access to kernel virtual
              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  control-
              ling tty of a process.

       Virtual Terminals

              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

              Serial ports.

       Pseudo Terminals

              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

       Bus Mice

              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

              Floppy disk devices.  The device fdx is the device which autode-
              tects 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.

              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  logical
              partitions).   By default, only the devices for 4 logical parti-
              tions 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.

              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

              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

       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

              SCSI CD players.

       sonycd Sony CDU-31A CD player.

       mcd    Mitsumi CD player.

       cdu535 Sony CDU-535 CD player.

       lmscd  LMS/Philips CD player.

              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.


              Logitech ScanMan32 & ScanMan 256.

              Mustek M105 Handscanner.

       ac4096 A4Tek Color Handscanner.


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


       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

       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

              [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 automatically be
              appended to it to make this work.

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

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

       Linux   Allocated    Devices,    maintained    by    H. Peter    Anvin,

       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.

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

Linux                            26 June 2001                       MAKEDEV(8)