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



NAME
       MAKEDEV - create devices

SYNOPSIS
       cd dev; ./MAKEDEV -V
       cd dev; ./MAKEDEV [ -n ] [ -v ] update
       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.

       This man page is woefully out of date.  A large number  of
       devices are supported that are not documented here.

       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
       -V     Print  out  version  (actually RCS version informa-
              tion) and exit.

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

       -v     Be verbose.  Print out the actions as they are per-
              formed.  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 set-
       tings.   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.

DEVICES
       General Options

       update This only works on kernels which have  /proc/inter-
              rupts  (introduced  during  1.1.x).   This  file is
              scanned to see what devices are  currently  config-
              ured 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 is the
              standard devices, plus floppy drives, various  hard
              drives,  pseudo-terminals,  console  devices, basic
              serial devices, busmice, and printer ports.

       std    Standard devices.  These are: mem - acess to physi-
              cal 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.

       local  This  simply  runs MAKEDEV.local.  This is a script
              that can create any local devices.

       Virtual Terminals

       console
              This creates the devices associated with  the  con-
              sole.   This is 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  are  used to generate screen-dumps of the vt
              (the vcsx is just the text, and vcsax includes  the
              attributes).

       Serial Devices

       ttyS{0..63}
              Serial ports and corresponding dialout device.  For
              device ttySx, there is also the device  cuax  which
              is  used to dial out with.  This can avoid the need
              for cooperative locks in simple situations.

       cyclades
              Dial-in  and  dial-out  devices  for  the  cyclades
              intelligent I/O serial card.  The dial in device is
              ttyCx and the corresponding dial-out device is cubx
              Devices for 32 lines are created.

       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.  These correspond  to  ports  at
              0x3bc,  0x378  and 0x278.  Hence, on some machines,
              the first printer port may actually be lp1.

       par    Alternative to lp.  Ports are named parx instead of
              lpx.

       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 repre-
              sents 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 controller, 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 parti-
              tion can be made into an extended partition,  which
              can  hold  4 logical 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 con-
              troller.  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-h]
              SCSI hard disks.  The partitions are similar to the
              IDE disks, but there is a limit of 11 logical  par-
              titions  (sdx5  through  sdx15).   This is to allow
              there to be 8 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  8  devices  loop0  through
              loop7.

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

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

       pcaudio
              Devices for the PC Speaker sound driver.  These are
              pcmixer.  pxsp, and pcaudio.

       Miscellaneous

       sg     Generic SCSI devices.  The devices created are  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, 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 BR /dev/stdin , BR /dev/stdout ,
              and BR /dev/stderr .  (Note, these  are  just  sym-
              links into /proc/self/fd).

       ibcs2  Devices  (and  symlinks) needed by the IBCS2 emula-
              tion.

       apm    Devices for power management.

       dcf    Driver for DCF-77 radio clock.

       helloworld
              Kernel modules demonstration device.  See the  mod-
              ules source.

       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 ker-
              nel, look at /proc/net/dev.

SEE ALSO
       Linux Allocated Devices,  maintained  by  H. Peter  Anvin,
       <Peter.Anvin@linux.org>.

AUTHOR
       Nick Holloway, <Nick.Hollowa



Linux                    14th August 1994              MAKEDEV(V)