1 .. _admin_devices: 2 3 Linux allocated devices (4.x+ version) 4 ====================================== 5 6 This list is the Linux Device List, the offici 7 device numbers and ``/dev`` directory nodes fo 8 system. 9 10 The version of this document at lanana.org is 11 version in the mainline Linux kernel is the ma 12 shall be sent as patches to the kernel maintai 13 :ref:`Documentation/process/submitting-patches 14 Specifically explore the sections titled "CHAR 15 "BLOCK LAYER" in the MAINTAINERS file to find 16 to involve for character and block devices. 17 18 This document is included by reference into th 19 Standard (FHS). The FHS is available from htt 20 21 Allocations marked (68k/Amiga) apply to Linux/ 22 platform only. Allocations marked (68k/Atari) 23 the Atari platform only. 24 25 This document is in the public domain. The au 26 that semantically altered versions are not dis 27 permission of the authors, assuming the author 28 an unreasonable effort. 29 30 31 .. attention:: 32 33 DEVICE DRIVERS AUTHORS PLEASE READ THIS 34 35 Linux now has extensive support for dynamic 36 and can use ``sysfs`` and ``udev`` (``system 37 There are still some exceptions in the seria 38 asking for a device number make sure you a 39 40 To have a major number allocated, or a minor 41 where that applies (e.g. busmice), please su 42 the authors as indicated above. 43 44 Keep the description of the device *in the s 45 as this list*. The reason for this is that i 46 found to ensure we have all the requisite in 47 device and avoid conflicts. 48 49 Finally, sometimes we have to play "namespac 50 offended. We often get submissions for ``/d 51 to cause conflicts down the road. We are tr 52 situation where we would have to suffer an i 53 change. Therefore, please consult with us * 54 device names and numbers in any way public, 55 where it would be at all difficult to get th 56 57 Your cooperation is appreciated. 58 59 .. include:: devices.txt 60 :literal: 61 62 Additional ``/dev/`` directory entries 63 -------------------------------------- 64 65 This section details additional entries that s 66 the /dev directory. It is preferred that symb 67 form (absolute or relative) as is indicated he 68 classified as "hard" or "symbolic" depending o 69 link; if possible, the indicated type of link 70 71 Compulsory links 72 ++++++++++++++++ 73 74 These links should exist on all systems: 75 76 =============== =============== ============== 77 /dev/fd /proc/self/fd symbolic 78 /dev/stdin fd/0 symbolic 79 /dev/stdout fd/1 symbolic 80 /dev/stderr fd/2 symbolic 81 /dev/nfsd socksys symbolic 82 /dev/X0R null symbolic 83 =============== =============== ============== 84 85 Note: ``/dev/X0R`` is <letter X>-<digit 0>-<le 86 87 Recommended links 88 +++++++++++++++++ 89 90 It is recommended that these links exist on al 91 92 93 =============== =============== ============== 94 /dev/core /proc/kcore symbolic 95 /dev/ramdisk ram0 symbolic 96 /dev/ftape qft0 symbolic 97 /dev/bttv0 video0 symbolic 98 /dev/radio radio0 symbolic 99 /dev/i2o* /dev/i2o/* symbolic 100 /dev/scd? sr? hard 101 =============== =============== ============== 102 103 Locally defined links 104 +++++++++++++++++++++ 105 106 The following links may be established locally 107 configuration of the system. This is merely a 108 practice, and does not constitute a recommenda 109 exist, they should have the following uses. 110 111 =============== =============== ============== 112 /dev/mouse mouse port symbolic 113 /dev/tape tape device symbolic 114 /dev/cdrom CD-ROM device symbolic 115 /dev/cdwriter CD-writer symbolic 116 /dev/scanner scanner symbolic 117 /dev/modem modem port symbolic 118 /dev/root root device symbolic 119 /dev/swap swap device symbolic 120 =============== =============== ============== 121 122 ``/dev/modem`` should not be used for a modem 123 well as dialout, as it tends to cause lock fil 124 exists, ``/dev/modem`` should point to the app 125 (the use of the alternate callout devices is d 126 127 For SCSI devices, ``/dev/tape`` and ``/dev/cdr 128 *cooked* devices (``/dev/st*`` and ``/dev/sr*` 129 ``/dev/cdwriter`` and /dev/scanner should poin 130 SCSI devices (/dev/sg*). 131 132 ``/dev/mouse`` may point to a primary serial T 133 device, or a socket for a mouse driver program 134 135 Sockets and pipes 136 +++++++++++++++++ 137 138 Non-transient sockets and named pipes may exis 139 140 =============== =============== ============== 141 /dev/printer socket lpd local sock 142 /dev/log socket syslog local s 143 /dev/gpmdata socket gpm mouse mult 144 =============== =============== ============== 145 146 Mount points 147 ++++++++++++ 148 149 The following names are reserved for mounting 150 under /dev. These special filesystems provide 151 cannot be provided with standard device nodes. 152 153 =============== =============== ============== 154 /dev/pts devpts PTY slave file 155 /dev/shm tmpfs POSIX shared m 156 =============== =============== ============== 157 158 Terminal devices 159 ---------------- 160 161 Terminal, or TTY devices are a special class o 162 terminal device is any device that could act a 163 for a session; this includes virtual consoles, 164 pseudoterminals (PTYs). 165 166 All terminal devices share a common set of cap 167 disciplines; these include the common terminal 168 as SLIP and PPP modes. 169 170 All terminal devices are named similarly; this 171 naming and use of the various types of TTYs. 172 conventions include several historical warts; 173 Linux-specific, some were inherited from other 174 reflect Linux outgrowing a borrowed convention 175 176 A hash mark (``#``) in a device name is used h 177 number without leading zeroes. 178 179 Virtual consoles and the console device 180 +++++++++++++++++++++++++++++++++++++++ 181 182 Virtual consoles are full-screen terminal disp 183 monitor. Virtual consoles are named ``/dev/tt 184 starting at ``/dev/tty1``; ``/dev/tty0`` is th 185 ``/dev/tty0`` is the device that should be use 186 card on those architectures for which the fram 187 (``/dev/fb*``) are not applicable. Do not use 188 for this purpose. 189 190 The console device, ``/dev/console``, is the d 191 messages should be sent, and on which logins s 192 single-user mode. Starting with Linux 2.1.71, 193 by the kernel; for previous versions it should 194 either ``/dev/tty0``, a specific virtual conso 195 a serial port primary (``tty*``, not ``cu*``) 196 configuration of the system. 197 198 Serial ports 199 ++++++++++++ 200 201 Serial ports are RS-232 serial ports and any d 202 one, either in hardware (such as internal mode 203 as the ISDN driver.) Under Linux, each serial 204 names, the primary or callin device and the al 205 Each kind of device is indicated by a differen 206 letter X, the names of the devices are ``/dev/ 207 respectively; for historical reasons, ``/dev/t 208 correspond to ``/dev/cua#`` and ``/dev/cub#``. 209 expected that multiple letters will be used; a 210 case for the "tty" device (e.g. ``/dev/ttyDP#` 211 "cu" device (e.g. ``/dev/cudp#``). 212 213 The names ``/dev/ttyQ#`` and ``/dev/cuq#`` are 214 215 The alternate devices provide for kernel-based 216 different defaults than the primary devices. 217 allow the use of serial ports with programs wi 218 support for serial ports. Their use is deprec 219 removed from a future version of Linux. 220 221 Arbitration of serial ports is provided by the 222 the names ``/var/lock/LCK..ttyX#``. The conten 223 be the PID of the locking process as an ASCII 224 225 It is common practice to install links such as 226 which point to serial ports. In order to ensu 227 presence of these links, it is recommended tha 228 symlinks and lock all possible names; addition 229 that a lock file be installed with the corresp 230 device. In order to avoid deadlocks, it is re 231 are acquired in the following order, and relea 232 233 1. The symbolic link name, if any (``/ 234 2. The "tty" name (``/var/lock/LCK..tt 235 3. The alternate device name (``/var/l 236 237 In the case of nested symbolic links, the lock 238 installed in the order the symlinks are resolv 239 240 Under no circumstances should an application h 241 for another to be released. In addition, appl 242 to create lock files for the corresponding alt 243 should take into account the possibility of be 244 port TTY, for which no alternate device would 245 246 Pseudoterminals (PTYs) 247 ++++++++++++++++++++++ 248 249 Pseudoterminals, or PTYs, are used to create l 250 other capabilities requiring a TTY line discip 251 PPP capability) to arbitrary data-generation p 252 a master side, named ``/dev/pty[p-za-e][0-9a-f 253 ``/dev/tty[p-za-e][0-9a-f]``. The kernel arbi 254 allowing each master side to be opened only on 255 256 Once the master side has been opened, the corr 257 can be used in the same manner as any TTY devi 258 slave devices are connected by the kernel, gen 259 of a bidirectional pipe with TTY capabilities. 260 261 Recent versions of the Linux kernels and GNU l 262 the System V/Unix98 naming scheme for PTYs, wh 263 device, ``/dev/ptmx``, to all the masters (ope 264 give you a previously unassigned PTY) and a su 265 for the slaves; the slaves are named with deci 266 in our notation). This removes the problem of 267 namespace and enables the kernel to automatica 268 nodes for the slaves on demand using the "devp
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.