Appendix b. Appendix

Problems Using Very Large Hard Disks

Using very large hard disks in PCs can lead to problems because of the limitations of the BIOS and IDE standards on which most PCs are based. Problems arise because the BIOS can manage only hard disks with a maximum of 256 heads, 63 sectors, and 1024 cylinders because the IDE standard is based on a model that specifies the Cylinders, Heads, and Sectors of the hard disks (CHS model), but only allows a maximum of 16 heads, 255 sectors, and 65536 cylinders. The lowest limits of both of these standards combine to give a maximum size for standard hard disks of 504MB (16 heads, 63 sectors, and 1024 cylinders).

The newer Enhanced-IDE (EIDE) standard avoids this limitation by not using the CHS model. Instead, a Logical Block Addressing model is used (LBA). This model numbers all sectors on the disk sequentially.

Newer BIOS versions overcome the 504MB limitation by using an Extended CHS model that extends the maximum number of heads to 256. The new upper size limit, from the Enhanced-IDE and Extended CHS models, is almost 7.9GB.

Linux does not use the BIOS to access your hard disk, so IDE and EIDE hard disks should not cause problems on Linux systems. If problems occur, however, Linux might be obtaining incorrect hard disk size parameters from the BIOS. To correct this problem, use boot parameters to pass the correct information to Linux. The parameter to pass is hdx=cyl,heads,sect, where hdx is the hard disk device (hda, hdb, hdc, or hdd). More information is provided below on using these parameters to create cylinder counts of less than 1024.

SCSI Hard Disks

In general, all SCSI hard disks use the LBA model mentioned above. SCSI hard disks do have a separate problem that EIDE hard disks do not have, however. SCSI hard disks larger than 1GB must have special treatment with the fdisk utility and while configuring the LILO boot manager. If your SCSI hard disk is affected by this problem, fdisk will display messages regarding the problem when you prepare your hard disk. The expert mode of fdisk can be used to correct SCSI problems. The LILO problems are fixed by adjusting the /etc/disktab file. Both of these fixes are described below with an example.

Why the Problem Arises

The problem with these larger hard disks is that the partition table must be read before any operating system becomes active. The partition table is accessed via the BIOS, which is limited to 256 heads, 63 sectors, and 1024 cylinders. Because of this, the hard disk controller attempts to convert (or translate) the true parameters of hard disks with more than 1024 cylinders into values that can be accepted by the BIOS.

The partition table itself can always be found at the first cylinder, first sector, and first header (which is the same in any translation); but because of this translation from the controller, if all data for the boot process (such as the boot loader and operating system kernel) are not found in the first 1024 cylinders, the BIOS cannot successfully boot the system.

Partitions can be created above 1024 cylinders, but you cannot boot these partitions because boot data in those higher partitions cannot be accessed until after the system is booted. This only causes trouble when a system has multiple operating systems and the user attempts to choose which to boot.

A work-around solution is to create a small Linux partition below 1024 cylinders that can be used to boot the Linux system. This partition can be as little as 15MB because it only needs to contain the kernel and root filesystem. The /usr directory and other information can be stored in a second Linux partition located above 1024 cylinders. Use the fdisk utility of another operating system such as OS/2 to create these partitions. Then use the Linux fdisk during installation to mark the partitions as Type 0x83, Linux.

A better solution is to enter the correct combination of cylinders, sectors, and heads that the hard disk controller is passing to the BIOS. Use the fdisk expert mode, as described below.

SCSI hard disks are usually reported as 64 heads and 32 sectors, giving a size of 64*32*512 bytes = 1MB per cylinder. EIDE usually reports 255 heads. The last translation is done by the operating system itself. Here Linux uses LBA to refer to the blocks sequentially from the first block to the last block on the hard disk.

Many controllers use two different models to provide cylinder numbers under 1024. In most cases, the controller first tries to double the number of heads. If this does not result in a cylinder count of less than 1024, the controller increases the actual values for heads and sectors to the maximum possible number to minimize the number of cylinders. This process is used by the extended translation of the Adaptec controllers, AH 274x/284x/294x. For example, the translation by an Adaptec controller of a 4GB disk gives a count of 255 heads, 63 sectors, and 522 cylinders. The NCR controller uses a variant by which the number of heads and sectors is chosen to provide the correct size while being within the 1024 cylinder limit. Overlap between partitions is thereby minimized because each partition begins and ends on a cylinder boundary.

Your task is to find out the translation that the controller is doing and enter the values that it passes for the hard disk into the expert mode of fdisk. As you do this, remember that the total size of the hard disk must remain constant.

For example, assume that we have a computer with a 4GB SCSI hard disk. This is more than 1024 cylinders, so fdisk gives a warning during installation:

The number of cylinders for this disk is set to 4095.
This is larger than 1024, and may cause problems with:
1. software that runs at boot time (e.g., LILO)
2. booting and partitioning software form other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

When you use the p command to display the partition table, you see a sequence of error messages:

Device Boot   Begin   Start   End    Blocks    Id   System
/dev/sda1        1       1    754    771088+   6    DOS 16-bit>32M
Partition 1 does not end on cylinder boundary:
  phys=(95, 254, 63) should be (95, 63, 32)
/dev/sda2   *   97    754    1954   1228972+   82   Linux swap
Partition 2 does not end on cylinder boundary:
  phys=(248, 254, 63) should be (248, 63, 32)
/dev/sda3     1274    1954   2456   514080     a5   BSD/386
Partition 3 does not end on cylinder boundary:
  phys=(312, 254, 63) should be (312, 63, 32)
/dev/sda4     2362    2456   4095   1678792+   5    Extended
Partition 4 does not end on cylinder boundary:
  phys=(521, 254, 63) should be (521, 63, 32)
/dev/sda5     2362    2456   2707   257008+    83   Linux
/dev/sda6     2394    2707   2770   64228+     83   Linux native
/dev/sda7     2402    2770   3436   682731     6    DOS 16-bit>32M
/dev/sda8     2487    3436   4095   674698+    6    DOS 16-bit>32M

To correct these errors, new values must be provided for fdisk so that the partition boundaries match the values reported by the hard disk and controller. In this example, the 4GB hard disk shown above has 64 heads, 32 sectors, and 4095 cylinders, for a total capacity of 64*32*4095 bytes = 4095MB.

If you set the number of heads to 255 and the number of sectors to 63 (a hint that this value is correct appears in the error messages shown above), the partition still must have 4095MB. So, if 255*63*cylinders = 4095MB, then the number of cylinders would be 522.

These new values must be entered in fdisk. First, you must change to the expert mode with the x command, and then you enter the new parameters for the heads, sectors, and cylinders. In expert mode, the commands c (cylinders), h (heads), and s (sectors) can be used. According to the calculation above, these values should be 255 heads and 63 sectors.

Note that if you are using DOS on your system, never enter a head count of 256. This value will cause DOS to crash without comment.

Below is how the screen might look as you enter these new values in fdisk.

Expert command (m for help): h Number of heads (1-256): 255
Expert command (m for help): s Number of sectors (1-63): 63
  Warning: Setting sector offset for DOS compatibility
Expert command (m for help): c Number of cylinders (1-65535): 522

After these values are entered in the fdisk expert mode, return to the normal main menu of fdisk with r. Now, using the p command should show all partitions without the warnings shown in the first listing above.

Command (m for help): p Disk /dev/sda: 255 heads, 63 sectors, 522
cylinders Units = cylinders of 16065 * 512 bytes
Device Boot   Begin   Start   End   Blocks     Id    Systemg
/dev/sda1         1      1     96    771088+    6    DOS 16-bit>32M
/dev/sda2 *      97      97   249   1228972+   82    Linux swap
/dev/sda3       250     250   313    514080    a5    BSD/386
/dev/sda4       314     314   522   1678792+    5    Extended
/dev/sda5       314     314   345    257008+   83    Linux native
/dev/sda6       346     346   353     64228+   83    Linux native
/dev/sda7       354     354   438     682731    6    DOS 16-bit>32M
/dev/sda8       439     439   522    674698+    6    DOS 16-bit>32M

If the error messages have not disappeared, you have not yet found the right values. Try again with new values until the error messages do not appear.

When you find the correct values, make note of them in your system documentation. You must enter these values each time you run fdisk. They are not saved.

After the correct values are entered in expert mode, you can continue working normally with fdisk to create the partitions that you need to install Linux on.

If you want to use LILO to boot Linux directly from the hard disk, you must list the correct partitions in the file /etc/fstab/. These partitions are shown from the main menu of fdisk once you have corrected the information in expert mode. Change the partition display of fdisk from units to sectors with the u command. The sector values shown correspond to the block values of the LBA mode.

Command (m for help): u Changing display/entry units to sectors
Display the revised partition table:
Command (m for help): p
Disk /dev/sda: 255 heads, 63 sectors, 522 cylinders
Units = sectors of 1 * 512 bytes
Device Boot     Begin     Start      End      Blocks     Id     System
/dev/sda1            63        63  1542239    771088+     6     DOS 16-bit>32M
/dev/sda2 *    1542240   1542240  4000184    1228972+    82     Linux swap
/dev/sda3      4000185   4000185  5028344     514080     a5     BSD/386
/dev/sda4      5028345   5028345  8385929    1678792+     5     Extended
/dev/sda5      5028408   5028408  5542424     257008+    83     Linux native
/dev/sda6      5542488   5542488  5670944      64228+    83     Linux native
/dev/sda7      5671008   5671008  7036469     682731      6     DOS 16-bit>32M
/dev/sda8      7036533   7036533  8385929     674698+     6     DOS 16-bit>32M

Now the start, size, and end of the partition are no longer displayed in cylinders, but in sectors (which Linux uses to access the hard disk). Enter these sector values in the file /etc/disktab. The entries in this file would look like this for our example:

     # Dev.    BIOS     Secs/      Heads/     Cylin     Part.
     # num.    code     track      cylin.     ders      offset
     0x801     0x80     63     255     522     63        # /dev/sda1
     0x802     0x80     63     255     522     1542240   # /dev/sda2
     0x803     0x80     63     255     522     4000185   # /dev/sda3
     0x805     0x80     63     255     522     5028408   # /dev/sda5
     0x806     0x80     63     255     522     5542488   # /dev/sda6
     0x807     0x80     63     255     522     5671008   # /dev/sda7
     0x808     0x80     63     255     522     7036533   # /dev/sda8

The process described here is a difficult one, and we cannot guarantee your success for any particular hardware configuration. We hope that the principal steps and concepts are clear, however. If you have trouble, please contact Caldera for additional information or suggestions.

Linux-allocated Devices

Maintained by H. Peter Anvin <>

Last revised: May 29, 1995

This list is the successor to Rick Miller's Linux Device List, which he stopped maintaining when he lost network access in 1993. It is a registry of allocated major device numbers, as well as the recommended /dev directory nodes for these devices.

This list is available via FTP from ftp.yggdrasil.com in the directory /pub/device-list; filename is devices.<format> where <format> is txt (ASCII), tex (LaTeX), dvi (DVI) or ps (PostScript). In cases of discrepancy, the LaTeX version has priority.

This document is included by reference into the Linux Filesystem Standard (FSSTND). The FSSTND is available via FTP from tsx-11.mit.edu in the directory /pub/linux/docs/linux-standards/fsstnd.

To have a major number allocated, or a minor number in situations where that applies (e.g., busmice), please contact me. Also, if you have additional information regarding any of the devices listed below, I would like to know.

Allocations marked (68k) apply to Linux/68k only.

0      Unnamed devices (NFS mounts, loopback devices)
         0 = reserved as null device number
1 char Memory devices
         1 = /dev/mem   Physical memory access
         2 = /dev/kmem  Kernel virtual memory access
         3 = /dev/null  Null device
         4 = /dev/port  I/O port access
         5 = /dev/zero  Null byte source
          6 = /dev/core OBSOLETE - replaced by /proc/kcore
         7 = /dev/full  Returns ENOSPC on write
block RAM disk
         1 = /dev/ramdiskRAM disk
2 char Reserved for PTY's <[email protected]>
  block Floppy disks
         0 = /dev/fd0 First floppy disk autodetect
         1 = /dev/fd1 Second floppy disk autodetect
         2 = /dev/fd2 Third floppy disk autodetect
         3 = /dev/fd3 Fourth floppy disk autodetect
  To specify format, add to the autodetect device number:
         0 = /dev/fd?        Autodetect format
         4 = /dev/fd?d360    5.25"  360K in a 360K  drive
        20 = /dev/fd?h360    5.25"  360K in a 1200K drive
        48 = /dev/fd?h410    5.25"  410K in a 1200K drive
        64 = /dev/fd?h420    5.25"  420K in a 1200K drive
        24 = /dev/fd?h720    5.25"  720K in a 1200K drive
        80 = /dev/fd?h880    5.25"  880K in a 1200K drive
         8 = /dev/fd?h1200   5.25" 1200K in a 1200K drive
        40 = /dev/fd?h1440   5.25" 1440K in a 1200K drive
        56 = /dev/fd?h1476   5.25" 1476K in a 1200K drive
        72 = /dev/fd?h1494   5.25" 1494K in a 1200K drive
        92 = /dev/fd?h1600   5.25" 1600K in a 1200K drive
        12 = /dev/fd?u360    3.5"   360K Double Density
       120 = /dev/fd?u800    3.5"   800K Double Density
        52 = /dev/fd?u820    3.5"   820K Double Density
        68 = /dev/fd?u830    3.5"   830K Double Density
        84 = /dev/fd?u1040   3.5"  1040K Double Density
        88 = /dev/fd?u1120   3.5"  1120K Double Density
        28 = /dev/fd?u1440   3.5"  1440K High Density
       124 = /dev/fd?u1600   3.5"  1600K High Density
        44 = /dev/fd?u1680   3.5"  1680K High Density
        60 = /dev/fd?u1722   3.5"  1722K High Density
        76 = /dev/fd?u1743   3.5"  1743K High Density
        96 = /dev/fd?u1760   3.5"  1760K High Density
       116 = /dev/fd?u1840   3.5"  1840K High Density
       100 = /dev/fd?u1920   3.5"  1920K High Density
        32 = /dev/fd?u2880   3.5"  2880K Extra Density
       104 = /dev/fd?u3200   3.5"  3200K Extra Density
       108 = /dev/fd?u3520   3.5"  3520K Extra Density
       112 = /dev/fd?u3840   3.5"  3840K Extra Density
        36 = /dev/fd?CompaQ  Compaq 2880K drive; obsolete?
NOTE: The letter in the device name (d, q, h or u) signifies the type of
  drive: 5.25″ Double Density (d), 5.25″ Quad Density (q), 5.25″ High
  Density (h) or 3.5″ (any model, u). The use of the capital letters D,
  H and E for the 3.5" models have been deprecated, since the drive
  type is insignificant for these devices.
3 char Reserved for pty's <[email protected]>
  block First MFM, RLL and IDE hard disk/CD-ROM interface
         0 = /dev/hda        Master: whole disk (or CD-ROM)
        64 = /dev/hdb        Slave: whole disk (or CD-ROM)
For partitions, add to the whole disk device number:
         0 = /dev/hd?        Whole disk
         1 = /dev/hd?1       First primary partition
         2 = /dev/hd?2       Second primary partition
         3 = /dev/hd?3       Third primary partition
         4 = /dev/hd?4       Fourth primary partition
         5 = /dev/hd?5       First logical partition
         6 = /dev/hd?6       Second logical partition
         7 = /dev/hd?7       Third logical partition
         ...
        63 = /dev/hd?63      59th logical partition
4 char TTY devices
         0 = /dev/console    Console device
         1 = /dev/tty1       First virtual console
         ...
        63 = /dev/tty63      63rd virtual console
        64 = /dev/ttyS0      First serial port
         ...
       127 = /dev/ttyS63     64th serial port
       128 = /dev/ptyp0      First pseudo-tty master
         ...
       191 = /dev/ptysf      64th pseudo-tty master
       192 = /dev/ttyp0      First pseudo-tty slave
         ...
       255 = /dev/ttysf      64th pseudo-tty slave
       Pseudo-tty's are named as follows:
       * Masters are "pty", slaves are "tty";
       * the fourth letter is one of p, q, r, s indicating
         the 1st, 2nd, 3rd, 4th series of 16 pseudo-ttys each, and
       * the fifth letter is one of 0123456789abcdef indicating
         the position within the series.
5 char Alternate TTY devices
         0 = /dev/tty        Current TTY device
        64 = /dev/cua0       Callout device corresponding to ttyS0
         ...
       127 = /dev/cua63      Callout device corresponding to ttyS63
6 char Parallel printer devices
         0 = /dev/lp0        First parallel printer (0x3bc)
         1 = /dev/lp1        Second parallel printer (0x378)
         2 = /dev/lp2        Third parallel printer (0x278)
       Not all computers have the 0x3bc parallel port; hence
       the "first" printer may be either /dev/lp0 or
       /dev/lp1.
7 char Virtual console capture devices
         0 = /dev/vcs        Current vc text contents
         1 = /dev/vcs1       tty1 text contents
         ...
        63 = /dev/vcs63      tty63 text contents
       128 = /dev/vcsa       Current vc text/attribute contents
       129 = /dev/vcsa1      tty1 text/attribute contents
         ...
       191 = /dev/vcsa63     tty63 text/attribute contents
NOTE: These devices permit both read and write access.
8 block SCSI disk devices
         0 = /dev/sda        First SCSI disk whole disk
        16 = /dev/sdb        Second SCSI disk whole disk
        32 = /dev/sdc        Third SCSI disk whole disk
         ...
       240 = /dev/sdp        Sixteenth SCSI disk whole disk
Partitions are handled in the same way as for IDE
disks (see major number 3) except that the limit on
logical partitions is 11.
9 char SCSI tape devices
         0 = /dev/st0        First SCSI tape
         1 = /dev/st1        Second SCSI tape
         ...
       128 = /dev/nst0       First SCSI tape, no rewind-on-close
       129 = /dev/nst1       Second SCSI tape, no rewind-on-close
         ...
  block Multiple disk devices
          0 = /dev/md0       First device group
         1 = /dev/md1        Second device group
      ...
       The multiple devices driver is used to span a
       filesystem across multiple physical disks.
10 char Non-serial mice, misc features
         0 = /dev/logibm     Logitech bus mouse
         1 = /dev/psaux      PS/2-style mouse port
         2 = /dev/inportbm   Microsoft Inport bus mouse
         3 = /dev/atibm      ATI XL bus mouse
         4 = /dev/jbm        J-mouse
         4 = /dev/amigamouse Amiga Mouse (68k)
         5 = /dev/atarimouse Atari Mouse (68k)
       128 = /dev/beep       Fancy beep device
       129 = /dev/modreq     Kernel module load request
       The use of the suffix -mouse instead of -bm or -aux
       has also been used.
11 block SCSI CD-ROM devices
         0 = /dev/sr0        First SCSI CD-ROM
         1 = /dev/sr1        Second SCSI CD-ROM
         ...
       The prefix /dev/scd instead of /dev/sr has been used
       as well, and might make more sense.
12 char QIC-02 tape
         2 = /dev/ntpqic11   QIC-11, no rewind-on-close
         3 = /dev/tpqic11    QIC-11, rewind-on-close
         4 = /dev/ntpqic24   QIC-24, no rewind-on-close
         5 = /dev/tpqic24    QIC-24, rewind-on-close
         6 = /dev/ntpqic120  QIC-120, norewind-on-close
         7 = /dev/tpqic120   QIC-120, rewind-on-close
         8 = /dev/ntpqic150  QIC-150, no rewind-on-close
         9 = /dev/tpqic150   QIC-150, rewind-on-close
The device names specified are proposed -- if there
are "standard" names for these devices, please let me know.
  block MSCDEX CD-ROM callback support
         0 = /dev/dos_cd0    First MSCDEX CD-ROM
         1 = /dev/dos_cd1    Second MSCDEX CD-ROM
         ...
13 char PC speaker
         0 = /dev/pcmixer    Emulates /dev/mixer
         1 = /dev/pcsp       Emulates /dev/dsp (8-bit)
         4 = /dev/pcaudio    Emulates /dev/audio
         5 = /dev/pcsp16     Emulates /dev/dsp (16-bit)
  block 8-bit MFM/RLL/IDE controller
         0 = /dev/xda        First XT disk whole disk
        64 = /dev/xdb        Second XT disk whole disk
       Partitions are handled in the same way as IDE disks
       (see major number 3).
14 char Sound card
         0 = /dev/mixer      Mixer control
         1 = /dev/sequencer  Audio sequencer
         2 = /dev/midi00     First MIDI port
         3 = /dev/dsp        Digital audio
         4 = /dev/audio      Sun-compatible digital audio
         6 = /dev/sndstat    Sound card status information
         8 = /dev/sequencer2 Sequencer -- alternate device
        16 = /dev/mixer1     Second soundcard mixer control
        17 = /dev/patmgr0    Sequencer patch manager
        18 = /dev/midi01     Second MIDI port
        19 = /dev/dsp1       Second soundcard digital audio
        20 = /dev/audio1     Second soundcard Sun digital audio
        33 = /dev/patmgr1    Sequencer patch manager
        34 = /dev/midi02     Third MIDI port
        50 = /dev/midi03     Fourth MIDI port
  block BIOS harddrive callback support
         0 = /dev/dos_hda    First BIOS harddrive whole disk
        64 = /dev/dos_hdb    Second BIOS harddrive whole disk
       128 = /dev/dos_hdc    Third BIOS harddrive whole disk
       192 = /dev/dos_hdd    Fourth BIOS harddrive whole disk
       Partitions are handled in the same way as IDE disks
       (see major number 3).
15 char Joystick
         0 = /dev/js0        First joystick
         1 = /dev/js1        Second joystick
  block Sony CDU-31A/CDU-33A CD-ROM
         0 = /dev/sonycd     Sony CDU-31a CD-ROM
        
16 char Reserved for scanners
  block GoldStar CD-ROM
         0 = /dev/gscd       GoldStar CD-ROM
       
17 char Chase serial card
         0 = /dev/ttyH0      First Chase port
         1 = /dev/ttyH1      Second Chase port
         ...
  block Optics Storage CD-ROM (under development)
         0 = /dev/optcd      Optics Storage CD-ROM
    
18 char Chase serial card - alternate devices
         0 = /dev/cuh0       Callout device corresponding to ttyH0
         1 = /dev/cuh1       Callout device corresponding to ttyH1
         ...
  block Sanyo CD-ROM (under development)
         0 = ?               Sanyo CD-ROM
19 char Cyclades serial card
        32 = /dev/ttyC0      First Cyclades port
         ...
        63 = /dev/ttyC31     32nd Cyclades port
        It would make more sense for these to start at 0...
  block Double" compressed disk
         0 = /dev/double0    First compressed disk
         ...
         7 = /dev/double7    Eighth compressed disk
       128 = /dev/cdouble0   Mirror of first compressed disk
         ...
       135 = /dev/cdouble7   Mirror of eighth compressed disk
       See the Double documentation for the meaning of the
       mirror devices.
20 char Cyclades serial card - alternate devices
        32 = /dev/cub0       Callout device corresponding to ttyC0
         ...
        63 = /dev/cub31      Callout device corresponding to ttyC31
  block Hitachi CD-ROM (under development)
         0 = /dev/hitcd      Hitachi CD-ROM
21 char Generic SCSI access
         0 = /dev/sg0        First generic SCSI device
         1 = /dev/sg1        Second generic SCSI device
         ...
22 char Digiboard serial card
         0 = /dev/ttyD0      First Digiboard port
         1 = /dev/ttyD1      Second Digiboard port
         ...
  block Second MFM, RLL and IDE hard disk/CD-ROM interface
         0 = /dev/hdc        Master: whole disk (or CD-ROM)
        64 = /dev/hdd        Slave: whole disk (or CD-ROM)
        Partitions are handled the same way as for the first
        interface (see major number 3).
23 char Digiboard serial card - alternate devices
         0 = /dev/cud0       Callout device corresponding to ttyD0
         1 = /dev/cud1       Callout device corresponding to ttyD1
         ...
  block Mitsumi proprietary CD-ROM
         0 = /dev/mcd        Mitsumi CD-ROM
24 char Stallion serial card
         0 = /dev/ttyE0      Stallion port 0 card 0
         1 = /dev/ttyE1      Stallion port 1 card 0
         ...
        64 = /dev/ttyE64     Stallion port 0 card 1
        65 = /dev/ttyE65     Stallion port 1 card 1
         ...
       128 = /dev/ttyE128    Stallion port 0 card 2
       129 = /dev/ttyE129    Stallion port 1 card 2
         ...
       192 = /dev/ttyE192    Stallion port 0 card 3
       193 = /dev/ttyE193    Stallion port 1 card 3
         ...
  block Sony CDU-535 CD-ROM
         0 = /dev/cdu535     Sony CDU-535 CD-ROM
25 char Stallion serial card - alternate devices
         0 = /dev/cue0       Callout device corresponding to ttyE0
         1 = /dev/cue1       Callout device corresponding to ttyE1
         ...
        64 = /dev/cue64      Callout device corresponding to ttyE64
        65 = /dev/cue65      Callout device corresponding to ttyE65
         ...
       128 = /dev/cue128     Callout device corresponding to ttyE128
       129 = /dev/cue129     Callout device corresponding to ttyE129
         ...
       192 = /dev/cue192     Callout device corresponding to ttyE192
       193 = /dev/cue193     Callout device corresponding to ttyE193
         ...
  block First Matsushita (Panasonic/SoundBlaster) CD-ROM
         0 = /dev/sbpcd0     Panasonic CD-ROM controller 0 unit 0
         1 = /dev/sbpcd1     Panasonic CD-ROM controller 0 unit 1
         2 = /dev/sbpcd2     Panasonic CD-ROM controller 0 unit 2
         3 = /dev/sbpcd3     Panasonic CD-ROM controller 0 unit 3
26 char Frame grabbers
         0 = /dev/wvisfgrab  Quanta WinVision frame grabber
  block Second Matsushita (Panasonic/SoundBlaster) CD-ROM
         0 = /dev/sbpcd4     Panasonic CD-ROM controller 1 unit 0
         1 = /dev/sbpcd5     Panasonic CD-ROM controller 1 unit 1
         2 = /dev/sbpcd6     Panasonic CD-ROM controller 1 unit 2
         3 = /dev/sbpcd7     Panasonic CD-ROM controller 1 unit 3
27 char QIC-117 tape
         0 = /dev/ftape      QIC-117 tape
  block Third Matsushita (Panasonic/SoundBlaster) CD-ROM
         0 = /dev/sbpcd8     Panasonic CD-ROM controller 2 unit 0
         1 = /dev/sbpcd9     Panasonic CD-ROM controller 2 unit 1
         2 = /dev/sbpcd10    Panasonic CD-ROM controller 2 unit 2
         3 = /dev/sbpcd11    Panasonic CD-ROM controller 2 unit 3
28 char Stallion serial card - card programming
         0 = /dev/staliomem0 First Stallion card I/O memory
         1 = /dev/staliomem1 Second Stallion card I/O memory
         2 = /dev/staliomem2 Third Stallion card I/O memory
         3 = /dev/staliomem3 Fourth Stallion card I/O memory
  block Fourth Matsushita (Panasonic/SoundBlaster) CD-ROM
         0 = /dev/sbpcd12    Panasonic CD-ROM controller 3 unit 0
         1 = /dev/sbpcd13    Panasonic CD-ROM controller 3 unit 1
         2 = /dev/sbpcd14    Panasonic CD-ROM controller 3 unit 2
         3 = /dev/sbpcd15    Panasonic CD-ROM controller 3 unit 3
  block ACSI disk (68k)
         0 = /dev/ada        First ACSI disk whole disk
        16 = /dev/adb        Second ACSI disk whole disk
        32 = /dev/adc        Third ACSI disk whole disk
         ...
       240 = /dev/adp        16th ACSI disk whole disk
       Partitions are handled in the same way as for IDE
       disks (see major number 3) except that the limit on
       logical partitions is 11.
29 char Universal frame buffer
         0 = /dev/fb0current First frame buffer
         1 = /dev/fb0autodetect
         ...
        16 = /dev/fb1current Second frame buffer
        17 = /dev/fb1autodetect
         ...
  block Aztech/Orchid/Okano/Wearnes CD-ROM
         0 = /dev/aztcd      Aztech CD-ROM
       The universal frame buffer device is currenly only
       supported on Linux/68k. The "current" device accesses
       the fame buffer at current resolution; the
       "autodetect" one at bootup (default) resolution.
       Minor numbers 2-15 within each frame buffer assignment
       are used for specific device-dependent resolutions.
       There appears to be no standard naming for these devices.
30 char iBCS-2 compatibility devices
         0 = /dev/socksys    Socket access
         1 = /dev/spx        SVR3 local X interface
         2 = /dev/inet/arp   Network access
         2 = /dev/inet/icmp  Network access
         2 = /dev/inet/ip    Network access
         2 = /dev/inet/udp   Network access
         2 = /dev/inet/tcp   Network access
       iBCS-2 requires /dev/nfsd to be a link to
       /dev/socksys, and /dev/X0R to be a link to /dev/null.
  block Philips LMS CM-205 CD-ROM
         0 = /dev/cm205cd    Philips LMS CM-205 CD-ROM
       /dev/lmscd is an older name for this device. This
       driver does not work with the CM-205MS CD-ROM.
31 char MPU-401 MIDI
         0 = /dev/mpu401data MPU-401 data port
         1 = /dev/mpu401stat MPU-401 status port
  block ROM/flash memory card
         0 = /dev/rom0       First ROM card (rw)
         ...
         7 = /dev/rom7       Eighth ROM card (rw)
         8 = /dev/rrom0      First ROM card (ro)
         ...
        15 = /dev/rrom7      Eighth ROM card (ro)
        16 = /dev/flash0     First flash memory card (rw)
         ...
        23 = /dev/flash7     Eighth flash memory card (rw)
        24 = /dev/rflash0    First flash memory card (ro)
         ...
        31 = /dev/rflash7    Eighth flash memory card (ro)
       The read-write (rw) devices support back-caching
       written data in RAM, as well as writing to flash RAM
       devices. The read-only devices (ro) support reading
     only.
32 block Philips LMS CM-206 CD-ROM
         0 = /dev/cm206cd    Philips LMS CM-206 CD-ROM
33 block Modular RAM disk device
         0 = /dev/ram0       First modular RAM disk
         1 = /dev/ram1       Second modular RAM disk
         ...
       255 = /dev/ram255     256th modular RAM disk
34-223 UNALLOCATED
224-254 LOCAL USE
       Allocated for local/experimental use
       Please note that MAX_CHRDEV and MAX_BLKDEV in
       linux/include/linux/major.h must be set to a value
       greater than the highest used major number. For a
       kernel using local/experimental devices, it is
       probably easiest to set both of these equal to 256. The
       memory cost above using the default value of 64 is 3K.
255 RESERVED

Additional /dev Directory Entries

This section details additional entries that should or may exist in the /dev directory. It is preferred that symbolic links use the same form (absolute or relative) as is indicated here. Links are classified as "hard" or "symbolic" depending on the preferred type of link; if possible, the indicated type of link should be used.

Compulsory Links

These links should exist on all systems:

/dev/fd     /proc/self/fd    symbolic    File descriptors
/dev/stdin  fd/0 symbolic    stdin file descriptor
/dev/stdout fd/1 symbolic    stdout file descriptor
/dev/stderr fd/2 symbolic    stderr file descriptor

Recommended Links

It is recommended that these links exist on all systems:

/dev/X0R    null        symbolic  Used by iBCS-2
/dev/nfsd   socksys     symbolic  Used by iBCS-2
/dev/core   /proc/kcore symbolic  Backward compatibility
/dev/scd?   /dev/cd? hard Alternate SCSI CD-ROM name

Locally-defined Links

The following links may be established locally to conform to the system configuration. This is merely a tabulation of existing practice, and does not constitute a recommendation. However, if they exist, they should have the following uses.

/dev/mouse   mouse port     symbolic   Current mouse device
/dev/tape    tape device    symbolic   Current tape device
/dev/cdrom   CD-ROM device  symbolic   Current CD-ROM device
/dev/modem   modem port     symbolic   Current dialout device
/dev/root    root device    symbolic   Current root filesystem
/dev/swap    swap device    symbolic   Current swap device

/dev/modem should not be used for a modem that supports dial-in as well as dial-out, as it tends to cause lock file problems. If it exists, /dev/modem should point to the appropriate dial-out (alternate) device.

Sockets and Pipes

Non-transient sockets and named pipes may exist in /dev. Common entries are:

/dev/printer   socket   lpd local socket
/dev/log       socket   syslog local socket
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.22.164