/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


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 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 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  con-
              figured 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 current 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 (usually /dev).

       -D directory
              Compute  file contexts for device creation as if the directory specified for the -d flag were the specified direc-
              tory.  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 creating 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 num-
              ber 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 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 partition 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 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 compatabil-
              ity, 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 descriptor 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, skipping over subdirectories,  symbolic  links,
       and device nodes, processing lines in the files 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 format-
              ting  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 created.

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

       macros
              =macro expansion
              Indicates a macro which can be referenced as $macro in subsequent configuration statements.


CONFIGURATION CONFLICTS
       In the event that the set of configuration files contains multiple rules for a given device name, MAKEDEV will use all of
       them.  The end result is typically that the last rule given (either by virtue of being listed below  all  other  matching
       rules  in  the same file, or by being listed in a file which is read after all others which contain alternate rules) will
       apply.  MAKEDEV reads the set of configuration files in sorted order, so this misfeature can be exploited dependably.


SEE ALSO
       Linux Allocated Devices, maintained by Torben Mathiasen <deviceATlanana.org>.

BUGS
       Let's hope not.  If we're lucky, any problems we'll find will be confined to the configuration files, which were  written
       by  examining the devices.txt file.  If your system uses udev, conflicts between devices.txt and the in-kernel data which
       udev uses for naming  devices  may  crop  up.   If  you  find  any  bugs,  please  file  them  in  the  bug  database  at
       http://bugzilla.redhat.com/ against the "MAKEDEV" component.

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



Linux                                                     26 June 2001                                                MAKEDEV(8)

Valid XHTML 1.0!Valid CSS!