Additional changes for 2.5
[unix-history] / sys / doc / options.doc
CommitLineData
81d3597c 1$Id: options.texi,v 1.2 1994/04/03 18:38:48 wollman Exp $
00c2ba06
GW
2
3 This file documents the configuration options available in the
4FreeBSD operating system.
5
6 Copyright (C) 1993, 1994, Garrett A. Wollman. All rights reserved.
7
8 Redistribution and use in source and printed forms, with or without
9 modification, are permitted provided that the following conditions
10 are met:
11 1. Redistributions of source code must retain the above copyright
12 notice and this list of conditions.
13 2. Redistributions in printed form must reproduce the above copyright
14 notice, this list of conditions and the following notice of
15 authorship.
16
17 Trademarks are property of their respective owners.
18
19FreeBSD Configuration Options
20*****************************
21
22 This document describes kernel configuration options relevant to the
23FreeBSD operating system between versions 1.1 and 1.2. It is intended
24for readers who already have a general understanding of the process of
25configuring a BSD kernel and wish to get a general overview of the
26meaning of various configuration options. This document covers
27configurable options and pseudo-devices; it is intended that devices may
28be added at a later date.
29
30Options for Subsystems
31**********************
32
33 This chapter discusses options controlling the inclusion of various
34subsystems in FreeBSD. These include things like filesystems,
35networking modules, and whatnot. Remember that options containing
36underscores must be quoted.
37
38`pseudo-device bpfilter NUMBER'
39 The `bpfilter' pseudo-device is the Berkeley Packet Filter,
40 developed by Lawrence Berkeley Labs and based on an earlier packet
41 filter from Stanford. See the `bpf' manual page for more details.
42 The NUMBER given is the maximum number of simultaneous users
43 permitted. (NB: in previous version of BPF, the NUMBER had to be
44 greater than the number of interfaces; this space is now
45 dynamically allocated so this requirement is no longer present.)
46
47`options CCITT'
48 The `CCITT' option enables support for the ITU-T X.25(1980)
49 network-layer protocol. Nobody we know has a direct X.25
50 connection to anything, so this code has never been tested.
51
52 This option will likely be removed in a future release of FreeBSD.
53
54`options "COMPAT_42"'
55 This option is used to disable UDP checksumming. Under ordinary
56 circumstances it should never ever ever be defined; however, if
57 you are stuck trying to communicate with an old 4.2BSD machine, or
58 one running something derived from 4.2 like SunOS 3.5 or Ultrix
59 2.0, this may be necessary in order to successfully receive UDP
60 packets.
61
62 This option will be replaced by run-time configuration in a future
63 release of FreeBSD.
64
65`options "COMPAT_43"'
66 This option controls a whole host of features, mostly relating to
67 system-call compatibilty with 4.3BSD. At the present time, it
68 should not be turned off, as many utilities and library routines
69 still depend on these obsolescent system calls being present. At
70 some future date, this will probably be split up into two separate
71 options, one for binary compatibility and one for the old but
72 useful system calls.
73
74`options "COMPAT_102"'
75 This option, which is not yet implemented, will control whether
76 certain entry points which were system calls in FreeBSD 1.0.2 but
77 have been replaced with library routines, are supported in the
78 kernel for backwards compatiblity.
79
80`options "DIRECTED_BROADCAST"'
81 If this option is enabled, the kernel will support sending IP
82 broadcast packets to subnets other than the one that the machine
83 is on, and when forwarding will accept such packets. That is to
84 say, if your host lives on subnets `132.198.3' and `132.198.4',
85 and the `132.198.3' side receives a packet addressed to
86 `132.198.4.255', it will forward the packet as a broadcast on that
87 subnet.
88
89 This option will likely be replaced by run-time configuration in a
90 future release of FreeBSD.
91
92`pseudo-device ether'
93 This pseudo-device provides link-layer support for Ethernet device
94 drivers. It is mandatory for all systems which include Ethernet or
95 Ethernet-like devices, such as `ed', `ie', and `is'. This code is
96 due for a redesign.
97
98`options EON'
99`pseudo-device eon'
100 The `eon' network interface supports the ISO 8473
101 Connectionless-Mode Network Protocol, tunnelled through IP version
102 4. `eon' interfaces are created automatically once initially
103 configured by adding ISO routes with IP destinations. At present,
104 both the pseudo-device and option declaration are necessary.
105
106 This option will likely be removed in a future release of FreeBSD.
107
108`options FIFO'
109 This option enables support for System V- and POSIX-style named
110 pipes or fifos.
111
112`options GATEWAY'
113`options IPFORWARDING=VALUE'
114`options IPSENDREDIRECTS=VALUE'
115 These three options control whether FreeBSD's IP forwarding
116 functions are enabled. Technically speaking, because FreeBSD does
117 not meet the standards set out in the "Router Requirements"
118 document (RFC 1009), these should not be enabled, but sometimes it
119 is necessary to enable this function. The `GATEWAY' option turns
120 on `IPFORWARDING', and also controls the sizing of certain system
121 tables. The `IPFORWARDING' option controls the initial value of
122 the `ipforwarding' kernel variable (default 1 if `GATEWAY'
123 defined, 0 otherwise), which controls whether packets are acutally
124 forwarded or not; VALUE should be either `0' or `1'.
125 `IPSENDREDIRECTS' controls the initial value of the
126 `ipsendredirects' variable (default is one, but should be changed
127 to zero); its VALUE should also be either `0' or `1'.
128
129 This option will be replaced by run-time configuration in a future
130 release of FreeBSD.
131
132`options INET'
133 This option controls the inclusion of the Internet protocol suite,
134 including IP version 4, TCP, UDP, and ICMP. Support for IP
135 multicast, IP next generation, and IGMP will be provided at a
136 future date. It is not recommended to even attempt to generate a
137 system with this option turned off, as many parts of the system
138 depend on Internet networking in important and subtle ways.
139
140`options ISO'
141`options TPIP'
142 These options control the inclusion of ISO OSI networking
143 protocols. The TPIP option includes just enough support to run
144 ISO Transport Protocol class 4 over IP, supporing the
145 `SOCK_SEQPACKET' abstraction. The ISO option includes support for
146 CLNP, TP class 0, ISO 9542 ESIS, and IEEE 802.2 logical link
147 control class 0 (for CLNP only).
148
149 This option will likely be removed in a future release of FreeBSD.
150
151`options ISOFS'
152 The `ISOFS' option enables kernel support for the ISO 9660 CD-ROM
153 filesystem, including RockRidge extensions.
154
155`options "ISO_X25ESIS"'
156 This option controls whether ISO 9542 ESIS is run over ITU-T X.25
157 link layers. This requires the `CCITT' option to be enabled as
158 well.
159
160 This option will likely be removed in a future release of FreeBSD.
161
162`options KTRACE'
163 This option enables the tracing of several classes of internal
164 kernel events. See the `ktrace' command for more details.
165 Recommended.
166
167`pseudo-device log'
168 The `log' pseudo-device provides kernel support to send kernel
169 messages to `syslog'. It is mandatory.
170
171`pseudo-device loop'
172 The `loop' pseudo-device provides the trivial network interface.
173 It is required when any networking options are enabled.
174
175`options MACHVMCOMPAT'
176 This option enables a Mach-compatible interface to the virtual
177 memory subsystem, supporting system calls `vm_allocate',
178 `vm_deallocate', `vm_inherit', and `vm_protect'. (Given the
179 nature of the VM system, it is impossible to support a Mach-style
180 `vm_region' call, and in every case the `map' argument is ignored
181 and replaced with the calling process's own map.)
182
183`options MFS'
184 This option enables support for the memory filesystem, an in-core
185 filesystem which lives in the swap area. Using MFS as a `/tmp'
186 filesystem can dramatically increase the speed of
187 temporary-space-intensive operations such as compilations. See the
188 `mount_mfs' manual page for more details.
189
190`options NFS'
191 The `NFS' option enables support for Sun's Network File System.
192 (Also called "Nightmare" or "Not a"....) This presently includes
193 both client- and server-side kernelized NFS support; it may in the
194 future be broken into separate options. This NFS implmentation
195 comes to BSD courtesy of Rick Macklem of the University of Guelph,
196 and is not derived from Sun licensed source code. As a result,
197 there are sometimes interoperability problems where the published
198 specification is vague, and this option supports several new and
199 useful features compared to Sun's. See the `mount' manual page
200 for more details.
201
202`options NS'
203`options NSIP'
204 `NS' controls the inclusion of support for the Xerox Network
205 Service protocol family. At the present time, it is not known
206 whether this code even works; testers are welcome. The `NSIP'
207 option enables encapsulation of XNS IDP over IP.
208
209 These options will likely be removed in a future release of
210 FreeBSD.
211
212`options "PANIC_REBOOT_WAIT_TIME=TIME"'
213 This option controls how long the system waits after a panic
214 before it reboots. If a TIME of zero is specified, it reboots
215 immediately; otherwise, TIME is the number of seconds to wait
216 before rebooting. If, during the waiting period, a key is hit on
217 the console, the countdown stops and the system will wait for the
218 user to copy down the panic message and hit another key before
219 rebooting.
220
221`options PCFS'
222 This option controls support for mounting MS-DOS disks and disk
223 partitions under FreeBSD. The `pcfs' manual page is presently very
224 bogus.
225
226`pseudo-device ppp NUMBER'
227 The `ppp' pseudo-device provides support for the Internet
228 Point-to-Point protocol (RFC 1351 et seq), implemented as a line
229 discipline over standard serial links. NUMBER should be the
230 number of simultaneous PPP interfaces which will be configured.
231
232`pseudo-device pty NUMBER'
233 This pseudo-device provides support for pseudo-ttys, which are
234 required for `rlogin', `telnet', and `xterm' to operate correctly;
235 NUMBER should be set to the total number of these programs you
236 expect to have running at any given time. Because pty's are not
237 as yet dynamically allocated, and the underlying structures are
238 large, it is best to keep this value as small as feasible, until
239 this deficiency is remedied.
240
241`options QUOTA'
242 The `QUOTA' option enables support for disk quotas. Note that NFS
243 quota support is not available.
244
245`pseudo-device sl NUMBER'
246 This pseudo-device provides support for the Serial Line Internet
247 Protocol (RFC 1055), implemented as a line discipline over standard
248 serial links. It includes support for Van Jacobson header
249 compression. NUMBER should be the number of simultaneous SLIP
250 interfaces which will be configured. See also the `slattach'
251 manual page.
252
253`options SYSVSHM'
254`options SYSVSEM'
255`options SYSVMSG'
256`options SHMMAXPGS=VALUE'
257 The `SYSVSHM' option enables kernel-side emulation of System
258 V-compatible shared memory. The `SHMMAXPGS' option (default 64
259 pages or 256K) determines the maximum amount of shared memory
260 available under this mechanism. The `SYSVSEM' option provides
261 emulation of System V-compatible semaphores, and likewise
262 `SYSVMSG' for message queues.
263
264`options "TCP_COMPAT_42"'
265 This option controls the perpetuation of several bugs inherited
266 from the 4.2BSD implementation of TCP. It should only be defined
267 in the circumstances outlined for `COMPAT_42', above.
268
269 This option will likely be replaced by run-time configuration in a
270 future release of FreeBSD.
271
272`pseudo-device tun'
273 The `tun' driver provides a network interface which is attached to
274 a character device. In this way, a user-mode program can grab
275 packets out of the networking system, fiddle with them or move
276 them around, and pass stuff packets back up into the kernel. It
277 is not known if this device either compiles or operates correctly,
278 although it was believed to do both at some time in the past.
279
280`options UCONSOLE'
281 This option allows any old user to grab kernel output away from the
282 console and send it to the tty of their choice. It presents an
283 incredile security hole for some systems, but is necessary in
284 order to allow programs like `xconsole' to operate.
285
286`options XSERVER'
287 This obsolescent option enables support in the `pc' console driver
288 for certain operations required by the XFree86 server.
289
290Performace and Debugging Options
291********************************
292
293 The following options are provided for system performace
294optimization. Note that kernel profiling is supported via the `-p'
295option to the `config' command; for more information see the `config'
296manual page.
297
298`psuedo-device ddb'
299 This option enables the `ddb' debugger, taken from Mach. See the
300 `ddb' and `dbsym' manual pages for more information on the use of
301 this debugger.
302
303`options DIAGNOSTIC'
304`options NAMEI_DIAGNOSTIC'
305`options PARANOID'
306 These debugging options reduce performace. They are intended to
307 enable certain internal consistency checks which are not supposed
308 to fail during correct operation, and so are normally disabled for
309 performace reasons.
310
311`options FASTLINKS'
312 The `FASTLINKS' option enables the creation of symbolic links whose
313 target names reside entirely within the i-node of the link, when
314 possible. This results in faster access for those links which are
315 short enough (in practice, most of them). All kernels can read
316 such links, but only `FASTLINKS' kernels will create them, for
317 compatibility with older kernels lacking such support.
318
319`options ICMPPRINTFS'
320 This option is defined to allow debugging of ICMP ("Internet
321 Control Message Protocol") packets in the kernel. When defined
322 and the `icmpprintfs' kernel variable (default false) is set to
323 true, ICMP packets will be printed out to the console when
324 received. Note that it is probably better to use `tcpdump' for
325 this kind of debugging.
326
327`options KGDB'
328 The `KGDB' option enables certain bits of kernel code which will
329 eventually be able to talk to a remote copy of the `gdb' debugger
330 over a serial connection. The present code does not work, but
331 users are invited to hack on it and contribute the changes back to
332 the FreeBSD team.
333
334`options MAXMEM=SIZE'
335 The `MAXMEM' option controls how much memory the kernel will
336 recognize on bootup, specified in kilobytes. This may be useful
337 for dealing with certain broken attachment busses (or the adapters
338 thereon) which are unable to deal with memory beyond a certain
339 address.
340
341`options SUBNETSARELOCAL'
342 This option controls whether the TCP system believes that machines
343 on other subnets of your network are considered to be "local" to
344 your host. For most systems, this option should be on (the
345 default); if you are directly connected to a class A network,
346 however, then it may need to be turned off. (This is true of
347 networks like the MILNET.)
348
349`options "SYMTAB_SPACE=VALUE"'
350 This obsolescent option controls the amount of space that will be
351 statically allocated in the debugger source code to hold the kernel
352 symbol table that `dbsym' sticks there. Eventually this will be
353 dynamically allocated at load time. The default VALUE is 63000
354 bytes.
355
356`options "UPDATE_INTERVAL=VALUE"'
357 This option controls the wait time between successive `sync'
358 operations run by the `update' system process (pid 3). This option
359 will be replaced by run-time configuration in a future release of
360 FreeBSD.
361
362Device Options
363**************
364
365 There are different device selections available depending on the
366type of bus present in your computer. We will cover generic FreeBSD
367devices, ISA-bus devices, and EISA-bus devices. A separate section
368describes the devices available in the SCSI subsystem.
369
370Generic Devices and Options
371===========================
372
373 The following devices and options are available in all FreeBSD
374configurations. In addition to these devices, a selection of ISA
375devices (*note ISA::.) is required in order to generate a workable
376system.
377
378`machine "i386"'
379 This mandatory declaration informs the `config' program that you
380 are using an i386 or compatible CPU, and enables the selection of
381 all the other devices listed here.
382
383`cpu "I386_CPU"'
384`cpu "I486_CPU"'
385 These two options control which specific CPUs will be supported by
386 the generated kernel. If the kernel detects that it is not
387 running on a CPU for which support was enabled, it will panic
388 quickly upon startup. If you do not expect to need to run your
389 kernel on an i386 or similar CPU, leaving out that support can
390 increase virtual memory system performance.
391
392`options "MATH_EMULATE"'
393 When this option is defined, the math coprocessor emulator is
394 compiled into the kernel. When it is not defined and the
395 coprocessor is absent, programs which use floating-point
396 operations are automatically killed.
397
398`device npx0 at isa? port "IO_NPX" irq 13 vector npxintr'
399 The `npx' device provides support for the i387 numeric coprocessor
400 and the floating-point portions of the i486 CPU. This will
401 eventually be fixed to not require ISA to be configured.
402
403`pseudo-device speaker'
404 The `speaker' pseudo-device provides support for rudimentary access
405 to the PC's speaker via `/dev/spkr'. It provides a
406 character-device interface which interprets `PLAY' strings similar
407 to IBM PC Advanced BASIC, as well as an `ioctl' interface with more
408 fine-grained control. See the `spkr' manual page for more
409 information.
410
411ISA-bus Devices and Options
412===========================
413
414 The following options are specific to ISA-bus devices and systems.
415Since the EISA bus is backwards-compatible with the ISA bus, all these
416options also apply to EISA systems. The same goes for VESA Local Bus
417(VL-Bus) systems.
418
419`controller isa0'
420 This *mandatory* declaration must precede any other devices listed
421 in this section. It provides the basic support for the ISA-bus
422 glue logic, including DMA and autoconfiguration.
423
424`controller aha0 at isa? port "IO_AHA0" bio irq 11 drq 5 vector ahaintr'
81d3597c 425`options "TUNE_1542"'
00c2ba06
GW
426 The `aha' device supports the Adaptec 154x series of SCSI
427 controllers, and attempts to support other vendors' controllers
428 which claim compatibility with the Adaptec 1542, such as the
429 BusLogic 545. This device is included in the `GENERICAH'
430 distribution kernel. The `scbus' device (*note SCSI::.) is a
431 prerequisite for this device.
432
81d3597c
GW
433 Some older versions of this code would attempt to set the
434 controller's bus access speed to the fastest possible without
435 losing data; we have found that this makes the driver unusable for
436 some users. If you wish to enable this optimization, or if you
437 suspect that your SCSI transfers are running slower than they
438 should, then you can use the `TUNE_1542' option to enable
439 bus-timing detection.
440
00c2ba06
GW
441`controller bt0 at isa? port "IO_BT0" bio irq 12 vector btintr'
442 This device supports the Bustek 742 SCSI controller. It is
443 included in the `GENERICBT' distribution kernel; the `scbus' device
444 (*note SCSI::.) is a prerequisite.
445
446`options COM_BIDIR'
447 This option enables bi-directional support in the `sio' serial
448 driver. This option is slated for removal, at which time
449 bi-directional support will always be enabled. See the
450 `comcontrol' manual page for more information.
451
452`options COM_MULTIPORT'
453 This option enables support in the `sio' serial driver for certain
454 multi-port serial boards.
455
456`device ed0 at isa? port 0x280 net irq 5 iomem 0xd8000 vector edintr'
457`device ed1 at isa? port 0x300 net irq 5 iomem 0xd8000 vector edintr'
458 The `ed' network interface driver provides support for the Western
459 Digital/SMC 80x3 series, the 3Com 3c503, and Novell NE1000 and
460 NE2000 series of Ethernet controllers. It automatically detects
461 differences among the various versions of these controllers and
462 adapts appropriately. The `ed1' line shown is for the Novell
463 boards; the `ed0' line is appropriate for all other supported
464 controllers. (The Novell controllers cannot be configured to use
465 port 0x280.)
466
467`controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr'
468`disk fd0 at fdc0 drive 0'
469`disk fd1 at fdc0 drive 1'
470`tape ft0 at fdc0 drive 2'
471 The `fdc' driver provides support for the standard PC floppy-disk
472 controller. The `fd' sub-driver supports 3.5- and 5.25-inch
473 floppy disks in the standard 360KB, 720KB, 1200KB, 1440KB, and
474 2880KB formats, as well as a number of other formats not supported
475 by DOS. The `ft' driver is available for QIC-80 "floppy tape"
476 support. The drivers support formatting of both tapes and disks.
477 This driver is substantially improved from that shipped in
478 previous releases of FreeBSD.
479
480`device ie0 at isa? port 0x360 net irq 7 iomem 0xd0000 vector ieintr'
481 This network interface driver provides support for the AT&T
482 StarLAN 10 and EN100 family of controllers. Note that the
483 configuration specified here is not the default configuration, but
484 one which attempts to deal with the conflicts that arise in more
485 modern systems. (It is expected that this driver will be expanded
486 in the future to support other similar cards in the manner of
487 `ed'.)
488
489`device is0 at isa? port 0x280 net irq 10 drq 7 vector isintr'
490 The `is' network interface driver supports the Isolan 4141-0 and
491 Isolink 4110 Ethernet controllers.
492
493`device lpa0 at isa? port "IO_LPT1" tty'
494`device lpt0 at isa? port "IO_LPT1" tty irq 7 vector lptintr'
495 The `lpa' device provides support for the parallel printer driver
496 accessed as `/dev/lp'. The `lpt' driver provides the same
497 functionality, but only works with those printer controllers which
498 support interrupt-driven operations. If you receive `ISA strayintr
499 7' messages correlated with the use of the `lpa' driver, chances
500 are that your controller supports interrupt-driven operation, and
501 you should switch to the `lpt' driver.
502
503 The `lpa' driver is obsolete, and will be removed in release 1.2,
504 to be replaced by special flags to the `lpt' driver.
505
506`device mcd0 at isa? port 0x300 bio irq 10 vector mcdintr'
507 This device provides support for the Mitsumi non-SCSI CD-ROM drive.
508 Performance is known to be quite slow.
509
510`device pc0 at isa? port "IO_KBD" tty irq 1 vector pcrint'
511`device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr'
512`options NCONS=VALUE'
513`options COMCONSOLE'
514 The `pc' and `sc' devices provide support for the system display
515 and keyboard, which is the default console. There might actually
516 be documentation somewhere for both of these. The `sc' device
517 requires the `NCONS' option to be defined to some value; it
518 represents the number of virtual consoles to be provided by the
519 driver; a reasonable value is 8. One of `pc' or `sc' is presently
520 required unless `COMCONSOLE' is enabled, in which case a serial
521 port is made into the console.
522
523`device sio0 at isa? port "IO_COM1" tty irq 4 vector siointr'
524`device sio1 at isa? port "IO_COM2" tty irq 3 vector siointr'
525`device sio2 at isa? port "IO_COM3" tty irq 5 vector siointr'
526`device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr'
527 The `sio' driver provides support for high-speed serial
528 communications using the standard 8250, 16450, and 16550 UART
529 chips. It provides a standard tty interface for these devices as
530 `/dev/ttyUNIT', and, when enabled with the `comcontrol' program, a
531 call-out capability as `/dev/cuaUNIT' (UNIT is two digits,
532 zero-padded in both cases). Certain multi-port systems are also
533 supported.
534
535`device uha0 at isa? port "IO_UHA0" bio irq 14 drq 5 vector uhaintr'
536 This device supports the Ultrastor 14F and related SCSI
537 controllers. It is included in the `GENERICBT' distribution
538 kernel, and requires `scbus' (*note SCSI::.) as a prerequisite.
539 The Ultrastor 24F is not supported.
540
541`controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr'
542`disk wd0 at wdc0 drive 0'
543`disk wd1 at wdc0 drive 1'
544 The `wd' device supports standard ST-506, RLL, ESDI, and IDE hard
545 disks, as controlled by the Western Digital WD100x series of
546 controllers (and compatible hardware). This version is
547 substantially improved from that provided in FreeBSD 1.0.
548
549`device wt0 at isa? port 0x300 bio irq 5 drq 1 vector wtintr'
550 This driver supports Archive QIC-02 and Wangtek QIC-02 and QIC-36
551 cartridge tape controllers.
552
553EISA-bus Devices and Options
554============================
555
556 There is presently only one EISA-specific device driver.
557
558`controller ahb0 at isa? bio irq 11 vector ahbintr'
559 The `ahb' driver provides support for the Adaptec AHA-174x series
560 of SCSI controllers. This controller is included in the
561 `GENERICAH' distribution kernel, and requires the `scbus' driver
562 (*note SCSI::.) as a prerequisite.
563
564Micro Channel Devices and Options
565=================================
566
567 We don't support Micro Channel right now. Anyone interested in
568working on Micro Channel support should send mail to
569`FreeBSD-Questions@freefall.cdrom.com' for information on how to help.
570
571PCI Devices and Options
572=======================
573
574 We don't support PCI, either. Anyone interested in working on PCI
575support should send mail to `FreeBSD-Questions@freefall.cdrom.com' for
576information on how to help.
577
578The SCSI Subsystem
579==================
580
581 The SCSI subsystem consists of a set of adaptor-specific driver
582routines, which were described in the previous sections, and the generic
583SCSI device drivers, which handle the standardized interactions with
584devices on the SCSI bus.
585
586`device cd0'
587 The `cd' device provides support for CD-ROM drives. Only one `cd'
588 device need be configured, as the driver automatically allocates
589 units for each CD-ROM drive found. Playing of audio CDs is also
590 supported, on drives which support it, through `ioctl' calls.
591 Support for retrieval of CD audio over the SCSI bus is not
592 presently available.
593
594`device ch0'
595 The `ch' driver supports SCSI media changers; this may include
596 tape, removable disk, and CD changers. One `ch' device should be
597 configured for each changer you expect to support.
598
599`device scbus0'
600 This driver forms the core of the SCSI subsystem. It provides the
601 device-independent routines that manage SCSI transactions, keep
602 track of attached devices, and act as glue between
603 SCSI-device-specific drivers and system-specific host adaptors.
604 This device is *mandatory* for all SCSI systems.
605
606`device sd0'
607 The `sd' driver provides access to non-removable SCSI disks. One
608 `sd' device should be defined for each disk you expect to have
609 simultaneously connected to the system.
610
611`device st0'
612 The `st' driver supports generic SCSI tape drives. One `st'
613 device should be defined for each tape drive you wish to access.
614 See the `st' manual page for information about how to manipulate
615 the parameters of this device.
616
617`device uk0'
618 The `uk' driver provides an attachment point for all otherwise
619 unrecognized SCSI devices. You can't actually do anything with
620 such a device, except perhaps send it an inquiry command using the
621 `scsi' program (q.v.).
622
623Internal Use Only
624*****************
625
626 Eventually, this chapter will document some of the kernel manifest
627constants which are not defines, but which can be tweaked in various
628header files.
629