D.1. Linux Devices
| Appendix D. Random Bits |

## D.1. Linux Devices

In Linux various special files can be found under the directory `/dev`. These files are called device files and behave unlike ordinary files. The most common types of device files are for block devices and character devices. These files are an interface to the actual driver (part of the Linux kernel) which in turn accesses the hardware. Another, less common, type of device file is the named pipe. The most important device files are listed in the tables below.

`fd0` | First Floppy Drive
`fd1` | Second Floppy Drive

`sda` | First hard disk
`sdb` | Second hard disk
`sda1` | First partition of the first hard disk
`sdb7` | Seventh partition of the second hard disk

`sr0` | First CD-ROM
`sr1` | Second CD-ROM

`ttyS0` | Serial port 0, COM1 under MS-DOS
`ttyS1` | Serial port 1, COM2 under MS-DOS
`psaux` | PS/2 mouse device
`gpmdata` | Pseudo device, repeater data from GPM (mouse) daemon

`cdrom` | Symbolic link to the CD-ROM drive
`mouse` | Symbolic link to the mouse device file

`null` | Anything written to this device will disappear
`zero` | One can endlessly read zeros out of this device

### D.1.1. Setting Up Your Mouse

The mouse can be used in both the Linux console (with gpm) and the X window environment. Normally, this is a simple matter of installing `gpm` and the X server itself. Both should be configured to use `/dev/input/mice` as the mouse device. The correct mouse protocol is named `exps2` in gpm, and `ExplorerPS/2` in X. The respective configuration files are `/etc/gpm.conf` and `/etc/X11/xorg.conf`.

Certain kernel modules must be loaded in order for your mouse to work. In most cases the correct modules are autodetected, but not always for old-style serial and bus mice[21], which are quite rare except on very old computers. Summary of Linux kernel modules needed for different mouse types:

Module | Description
--- | ---
psmouse | PS/2 mice (should be autodetected)
usbhid | USB mice (should be autodetected)
sermouse | Most serial mice
logibm | Bus mouse connected to Logitech adapter card
inport | Bus mouse connected to ATI or Microsoft InPort card

To load a mouse driver module, you can use the modconf command (from the package with the same name) and look in the category `kernel/drivers/input/mouse`.

Modern kernels give you the capability to emulate a three-button mouse when your mouse only has one button. Just add the following lines to `/etc/sysctl.conf` file.

    # 3-button mouse emulation
    # turn on emulation
    /dev/mac_hid/mouse_button_emulation = 1
    # Send middle mouse button signal with the F11 key
    /dev/mac_hid/mouse_button2_keycode = 87
    # Send right mouse button signal with the F12 key
    /dev/mac_hid/mouse_button3_keycode = 88
    # For different keys, use showkey to tell you what the code is.

[21] Serial mice usually have a 9-hole D-shaped connector; bus mice have an 8-pin round connector, not to be confused with the 6-pin round connector of a PS/2 mouse or the 4-pin round connector of an ADB mouse.

Appendix D. Random Bits |  | D.2. Disk Space Needed for Tasks