]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man7/bootparam.7
boot.7: tfix
[thirdparty/man-pages.git] / man7 / bootparam.7
CommitLineData
fea681da
MK
1.\" Copyright (c) 1995,1997 Paul Gortmaker and Andries Brouwer
2.\"
1dd72f9c 3.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
fea681da
MK
4.\" This is free documentation; you can redistribute it and/or
5.\" modify it under the terms of the GNU General Public License as
6.\" published by the Free Software Foundation; either version 2 of
7.\" the License, or (at your option) any later version.
8.\"
9.\" The GNU General Public License's references to "object code"
10.\" and "executables" are to be interpreted as the output of any
11.\" document formatting or typesetting system, including
12.\" intermediate and printed output.
13.\"
14.\" This manual is distributed in the hope that it will be useful,
15.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
16.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17.\" GNU General Public License for more details.
18.\"
19.\" You should have received a copy of the GNU General Public
c715f741
MK
20.\" License along with this manual; if not, see
21.\" <http://www.gnu.org/licenses/>.
6a8d8745 22.\" %%%LICENSE_END
fea681da
MK
23.\"
24.\" This man page written 950814 by aeb, based on Paul Gortmaker's HOWTO
25.\" (dated v1.0.1, 15/08/95).
26.\" Major update, aeb, 970114.
27.\"
ad5b45ab 28.TH BOOTPARAM 7 2014-06-13 "Linux" "Linux Programmer's Manual"
fea681da 29.SH NAME
f68512e9 30bootparam \- introduction to boot time parameters of the Linux kernel
fea681da 31.SH DESCRIPTION
76c44d83 32The Linux kernel accepts certain 'command-line options' or 'boot time
c13182ef
MK
33parameters' at the moment it is started.
34In general this is used to
fea681da
MK
35supply the kernel with information about hardware parameters that
36the kernel would not be able to determine on its own, or to avoid/override
37the values that the kernel would otherwise detect.
38
39When the kernel is booted directly by the BIOS (say from a floppy to
40dedbfe 40which you copied a kernel using 'cp zImage /dev/fd0'),
fea681da
MK
41you have no opportunity to specify any parameters.
42So, in order to take advantage of this possibility you have to
122a101a 43use a boot loader that is able to pass parameters, such as GRUB.
fea681da 44
18299dfc
MK
45.\" The LILO program (LInux LOader) written by Werner Almesberger is the
46.\" most commonly used.
47.\" It has the ability to boot various kernels, and
48.\" stores the configuration information in a plain text file.
49.\" (See
50.\" .BR lilo (8)
51.\" and
52.\" .BR lilo.conf (5).)
53.\" LILO can boot DOS, OS/2, Linux, FreeBSD, UnixWare, etc., and is quite flexible.
51700fd7 54.\"
18299dfc
MK
55.\" The other commonly used Linux loader is 'LoadLin', which is a DOS
56.\" program that has the capability to launch a Linux kernel from the DOS
57.\" prompt (with boot-args) assuming that certain resources are available.
58.\" This is good for people that want to launch Linux from DOS.
51700fd7 59.\"
18299dfc
MK
60.\" It is also very useful if you have certain hardware which relies on
61.\" the supplied DOS driver to put the hardware into a known state.
62.\" A common example is 'SoundBlaster Compatible' sound cards that require
63.\" the DOS driver to twiddle a few mystical registers to put the card
64.\" into a SB compatible mode.
65.\" Booting DOS with the supplied driver, and
66.\" then loading Linux from the DOS prompt with loadlin avoids the reset
67.\" of the card that happens if one rebooted instead.
73d8cece 68.SS The argument list
fea681da 69The kernel command line is parsed into a list of strings
c13182ef 70(boot arguments) separated by spaces.
77bda21c
MK
71Most of the boot arguments take have the form:
72
73.in +4n
74.nf
fea681da 75name[=value_1][,value_2]...[,value_10]
77bda21c
MK
76.fi
77.in
fea681da 78.LP
40dedbfe 79where 'name' is a unique keyword that is used to identify what part of
fea681da 80the kernel the associated values (if any) are to be given to.
33a0ccb2 81Note the limit of 10 is real, as the present code handles only 10 comma
c13182ef 82separated parameters per keyword.
3b777aff 83(However, you can reuse the same
fea681da
MK
84keyword with up to an additional 10 parameters in unusually
85complicated situations, assuming the setup function supports it.)
86
e57fca5a
MK
87Most of the sorting is coded in the kernel source file
88.IR init/main.c .
c13182ef 89First, the kernel
40dedbfe 90checks to see if the argument is any of the special arguments 'root=',
25715c96 91\&'nfsroot=', 'nfsaddrs=', 'ro', 'rw', 'debug' or 'init'.
c13182ef 92The meaning of these special arguments is described below.
fea681da
MK
93
94Then it walks a list of setup functions (contained in the bootsetups
40dedbfe
MK
95array) to see if the specified argument string (such as 'foo') has
96been associated with a setup function ('foo_setup()') for a particular
c13182ef
MK
97device or part of the kernel.
98If you passed the kernel the line
fea681da 99foo=3,4,5,6 then the kernel would search the bootsetups array to see
40dedbfe 100if 'foo' was registered.
c13182ef 101If it was, then it would call the setup
40dedbfe 102function associated with 'foo' (foo_setup()) and hand it the arguments
31df5734 1033, 4, 5, and 6 as given on the kernel command line.
fea681da 104
40dedbfe 105Anything of the form 'foo=bar' that is not accepted as a setup function
fea681da 106as described above is then interpreted as an environment variable to
c13182ef 107be set.
40dedbfe 108A (useless?) example would be to use 'TERM=vt100' as a boot
fea681da
MK
109argument.
110
111Any remaining arguments that were not picked up by the kernel and were
112not interpreted as environment variables are then passed onto process
1aedd258
MK
113one, which is usually the
114.BR init (1)
115program.
c13182ef 116The most common argument that
1aedd258
MK
117is passed to the
118.I init
119process is the word 'single' which instructs it
fea681da 120to boot the computer in single user mode, and not launch all the usual
c13182ef 121daemons.
1aedd258
MK
122Check the manual page for the version of
123.BR init (1)
124installed on
fea681da 125your system to see what arguments it accepts.
76c637e1 126.SS General non-device-specific boot arguments
bebbbd1f 127.TP
40dedbfe 128.B "'init=...'"
fea681da
MK
129This sets the initial command to be executed by the kernel.
130If this is not set, or cannot be found, the kernel will try
5ce89119
MK
131.IR /sbin/init ,
132then
fea681da
MK
133.IR /etc/init ,
134then
135.IR /bin/init ,
136then
0daa9e92 137.I /bin/sh
fea681da 138and panic if all of this fails.
bebbbd1f 139.TP
40dedbfe 140.B "'nfsaddrs=...'"
fea681da
MK
141This sets the nfs boot address to the given string.
142This boot address is used in case of a net boot.
bebbbd1f 143.TP
40dedbfe 144.B "'nfsroot=...'"
c13182ef
MK
145This sets the nfs root name to the given string.
146If this string
fea681da 147does not begin with '/' or ',' or a digit, then it is prefixed by
25715c96 148\&'/tftpboot/'.
c13182ef 149This root name is used in case of a net boot.
bebbbd1f 150.TP
40dedbfe
MK
151.B "'no387'"
152(Only when
153.B CONFIG_BUGi386
154is defined.)
fea681da 155Some i387 coprocessor chips have bugs that show up when used in 32 bit
c13182ef
MK
156protected mode.
157For example, some of the early ULSI-387 chips would
c45bd688 158cause solid lockups while performing floating-point calculations.
77bda21c 159Using the 'no387' boot argument causes Linux to ignore the maths
c13182ef
MK
160coprocessor even if you have one.
161Of course you must then have your
fea681da 162kernel compiled with math emulation support!
bebbbd1f 163.TP
40dedbfe
MK
164.B "'no-hlt'"
165(Only when
166.B CONFIG_BUGi386
167is defined.)
168Some of the early i486DX-100 chips have a problem with the 'hlt'
fea681da 169instruction, in that they can't reliably return to operating mode
c13182ef 170after this instruction is used.
40dedbfe 171Using the 'no-hlt' instruction tells
fea681da 172Linux to just run an infinite loop when there is nothing else to do,
c13182ef
MK
173and to not halt the CPU.
174This allows people with these broken chips
fea681da 175to use Linux.
bebbbd1f 176.TP
40dedbfe 177.B "'root=...'"
fea681da 178This argument tells the kernel what device is to be used as the root
9ee4a2b6 179filesystem while booting.
c13182ef 180The default of this setting is determined
fea681da 181at compile time, and usually is the value of the root device of the
c13182ef
MK
182system that the kernel was built on.
183To override this value, and
fea681da 184select the second floppy drive as the root device, one would
6387216b 185use 'root=/dev/fd1'.
fea681da
MK
186
187The root device can be specified symbolically or numerically.
e57fca5a 188A symbolic specification has the form
21e79503 189.IR /dev/XXYN ,
e57fca5a 190where XX designates
40dedbfe 191the device type ('hd' for ST-506 compatible hard disk, with Y in
25715c96
MK
192\&'a'-'d'; 'sd' for SCSI compatible disk, with Y in 'a'-'e';
193\&'ad' for Atari ACSI disk, with Y in 'a'-'e',
194\&'ez' for a Syquest EZ135 parallel port removable drive, with Y='a',
195\&'xd' for XT compatible disk, with Y either 'a' or 'b'; 'fd' for
5503c85e 196floppy disk, with Y the floppy drive number\(emfd0 would be
40dedbfe 197the DOS 'A:' drive, and fd1 would be 'B:'), Y the driver letter or
fea681da 198number, and N the number (in decimal) of the partition on this device
c13182ef
MK
199(absent in the case of floppies).
200Recent kernels allow many other
fea681da
MK
201types, mostly for CD-ROMs: nfs, ram, scd, mcd, cdu535, aztcd, cm206cd,
202gscd, sbpcd, sonycd, bpcd.
203(The type nfs specifies a net boot; ram refers to a ram disk.)
204
205Note that this has nothing to do with the designation of these
9ee4a2b6 206devices on your filesystem.
40dedbfe 207The '/dev/' part is purely conventional.
fea681da
MK
208
209The more awkward and less portable numeric specification of the above
c13182ef 210possible root devices in major/minor format is also accepted.
59dc509c 211(For example,
e57fca5a
MK
212.I /dev/sda3
213is major 8, minor 3, so you could use 'root=0x803' as an
fea681da 214alternative.)
bebbbd1f 215.TP
1c137827 216.BR "'rootdelay='"
91085d85 217This parameter sets the delay (in seconds) to pause before attempting
1c137827
PG
218to mount the root filesystem.
219.TP
220.BR "'rootflags=...'"
ffe8d0b1
MK
221This parameter sets the mount option string for the root filesystem
222(see also
1c137827
PG
223.BR fstab (5)).
224.TP
6c8adf48
JLDL
225.BR "'rootfstype=...'"
226The 'rootfstype' option tells the kernel to mount the root filesystem as
227if it where of the type specified.
228This can be useful (for example) to
229mount an ext3 filesystem as ext2 and then remove the journal in the root
230filesystem, in fact reverting its format from ext3 to ext2 without the
231need to boot the box from alternate media.
232.TP
40dedbfe 233.BR 'ro' " and " 'rw'
9ee4a2b6
MK
234The 'ro' option tells the kernel to mount the root filesystem
235as 'read-only' so that filesystem consistency check programs (fsck)
236can do their work on a quiescent filesystem.
c13182ef 237No processes can
9ee4a2b6 238write to files on the filesystem in question until it is 'remounted'
40dedbfe 239as read/write capable, for example, by 'mount \-w \-n \-o remount /'.
fea681da
MK
240(See also
241.BR mount (8).)
242
9ee4a2b6 243The 'rw' option tells the kernel to mount the root filesystem read/write.
fea681da
MK
244This is the default.
245
bebbbd1f 246.TP
d11f367d
AR
247.B "'resume=...'"
248This tells the kernel the location of the suspend-to-disk data that you want the machine to resume from after hibernation.
249Usually, it is the same as your swap partition or file. Example:
77bda21c
MK
250
251.in +4n
252.nf
253resume=/dev/hda2
254.fi
255.in
d11f367d 256.TP
40dedbfe 257.B "'reserve=...'"
c13182ef
MK
258This is used to protect I/O port regions from probes.
259The form of the command is:
77bda21c
MK
260
261.in +4n
262.nf
fea681da 263.BI reserve= iobase,extent[,iobase,extent]...
77bda21c
MK
264.fi
265.in
bebbbd1f 266.sp
fea681da 267In some machines it may be necessary to prevent device drivers from
c13182ef
MK
268checking for devices (auto-probing) in a specific region.
269This may be
fea681da
MK
270because of hardware that reacts badly to the probing, or hardware
271that would be mistakenly identified, or merely
272hardware you don't want the kernel to initialize.
273
274The reserve boot-time argument specifies an I/O port region that
c13182ef
MK
275shouldn't be probed.
276A device driver will not probe a reserved region,
fea681da
MK
277unless another boot argument explicitly specifies that it do so.
278
279For example, the boot line
77bda21c
MK
280
281.in +4n
282.nf
fea681da 283reserve=0x300,32 blah=0x300
77bda21c
MK
284.fi
285.in
bebbbd1f 286.IP
40dedbfe 287keeps all device drivers except the driver for 'blah' from probing
94e9d9fe 2880x300\-0x31f.
bebbbd1f 289.TP
40dedbfe 290.B "'mem=...'"
fea681da 291The BIOS call defined in the PC specification that returns
33a0ccb2 292the amount of installed memory was designed only to be able
c13182ef
MK
293to report up to 64MB.
294Linux uses this BIOS call at boot to
295determine how much memory is installed.
296If you have more than 64MB of
77bda21c 297RAM installed, you can use this boot argument to tell Linux how much memory
c13182ef
MK
298you have.
299The value is in decimal or hexadecimal (prefix 0x),
40dedbfe
MK
300and the suffixes 'k' (times 1024) or 'M' (times 1048576) can be used.
301Here is a quote from Linus on usage of the 'mem=' parameter.
fea681da 302
324633ae 303.in +0.5i
40dedbfe 304The kernel will accept any 'mem=xx' parameter you give it, and if it
fea681da
MK
305turns out that you lied to it, it will crash horribly sooner or later.
306The parameter indicates the highest addressable RAM address, so
40dedbfe
MK
307\&'mem=0x1000000' means you have 16MB of memory, for example.
308For a 96MB machine this would be 'mem=0x6000000'.
fea681da 309
192e4f2e
MK
310.BR NOTE :
311some machines might use the top of memory for BIOS
4f9d18f8 312caching or whatever, so you might not actually have up to the full
c13182ef
MK
31396MB addressable.
314The reverse is also true: some chipsets will map
fea681da
MK
315the physical memory that is covered by the BIOS area into the area
316just past the top of memory, so the top-of-mem might actually be 96MB
c13182ef
MK
317+ 384kB for example.
318If you tell linux that it has more memory than
fea681da 319it actually does have, bad things will happen: maybe not at once, but
324633ae
MK
320surely eventually.
321.in
fea681da 322
40dedbfe 323You can also use the boot argument 'mem=nopentium' to turn off 4 MB
eb1af896 324page tables on kernels configured for IA32 systems with a pentium or newer
441082ad 325CPU.
bebbbd1f 326.TP
40dedbfe 327.B "'panic=N'"
b9aee8fe 328By default, the kernel will not reboot after a panic, but this option
f7ceac86 329will cause a kernel reboot after N seconds (if N is greater than zero).
77bda21c
MK
330This panic timeout can also be set by
331
332.in +4n
333.nf
1322e836 334echo N > /proc/sys/kernel/panic
77bda21c
MK
335.fi
336.in
bebbbd1f 337.TP
40dedbfe
MK
338.B "'reboot=[warm|cold][,[bios|hard]]'"
339(Only when
340.B CONFIG_BUGi386
341is defined.)
fea681da 342Since 2.0.22 a reboot is by default a cold reboot.
40dedbfe 343One asks for the old default with 'reboot=warm'.
fea681da
MK
344(A cold reboot may be required to reset certain hardware,
345but might destroy not yet written data in a disk cache.
346A warm reboot may be faster.)
b9aee8fe 347By default, a reboot is hard, by asking the keyboard controller
fea681da 348to pulse the reset line low, but there is at least one type
c13182ef 349of motherboard where that doesn't work.
40dedbfe 350The option 'reboot=bios' will
fea681da 351instead jump through the BIOS.
bebbbd1f 352.TP
40dedbfe 353.BR 'nosmp' " and " 'maxcpus=N'
fea681da 354(Only when __SMP__ is defined.)
40dedbfe
MK
355A command-line option of 'nosmp' or 'maxcpus=0' will disable SMP
356activation entirely; an option 'maxcpus=N' limits the maximum number
fea681da 357of CPUs activated in SMP mode to N.
73d8cece 358.SS Boot arguments for use by kernel developers
bebbbd1f 359.TP
40dedbfe 360.B "'debug'"
fea681da 361Kernel messages are handed off to the kernel log daemon klogd so that they
c13182ef
MK
362may be logged to disk.
363Messages with a priority above
fea681da 364.I console_loglevel
c13182ef 365are also printed on the console.
e57fca5a
MK
366(For these levels, see
367.IR <linux/kernel.h> .)
b9aee8fe 368By default, this variable is set to log anything more important than
c13182ef
MK
369debug messages.
370This boot argument will cause the kernel to also
fea681da
MK
371print the messages of DEBUG priority.
372The console loglevel can also be set at run time via an option
c13182ef
MK
373to klogd.
374See
fea681da 375.BR klogd (8).
bebbbd1f 376.TP
40dedbfe 377.B "'profile=N'"
fea681da
MK
378It is possible to enable a kernel profiling function,
379if one wishes to find out where the kernel is spending its CPU cycles.
380Profiling is enabled by setting the variable
381.I prof_shift
c7094399 382to a nonzero value.
40dedbfe
MK
383This is done either by specifying
384.B CONFIG_PROFILE
385at compile time, or by giving the 'profile=' option.
fea681da
MK
386Now the value that
387.I prof_shift
40dedbfe
MK
388gets will be N, when given, or
389.BR CONFIG_PROFILE_SHIFT ,
390when that is given, or 2, the default.
c13182ef 391The significance of this variable is that it
fea681da
MK
392gives the granularity of the profiling: each clock tick, if the
393system was executing kernel code, a counter is incremented:
77bda21c
MK
394
395.in +4n
396.nf
fea681da 397profile[address >> prof_shift]++;
77bda21c
MK
398.fi
399.in
bebbbd1f 400.sp
fea681da
MK
401The raw profiling information can be read from
402.IR /proc/profile .
403Probably you'll want to use a tool such as readprofile.c to digest it.
404Writing to
405.I /proc/profile
406will clear the counters.
bebbbd1f 407.TP
40dedbfe 408.B "'swap=N1,N2,N3,N4,N5,N6,N7,N8'"
fea681da
MK
409Set the eight parameters max_page_age, page_advance, page_decline,
410page_initial_age, age_cluster_fract, age_cluster_min, pageout_weight,
411bufferout_weight that control the kernel swap algorithm.
412For kernel tuners only.
bebbbd1f 413.TP
40dedbfe 414.B "'buff=N1,N2,N3,N4,N5,N6'"
fea681da
MK
415Set the six parameters max_buff_age, buff_advance, buff_decline,
416buff_initial_age, bufferout_weight, buffermem_grace that control
c13182ef
MK
417kernel buffer memory management.
418For kernel tuners only.
73d8cece 419.SS Boot arguments for ramdisk use
40dedbfe
MK
420(Only if the kernel was compiled with
421.BR CONFIG_BLK_DEV_RAM .)
5503c85e
MK
422In general it is a bad idea to use a ramdisk under Linux\(emthe
423system will use available memory more efficiently itself.
fea681da
MK
424But while booting (or while constructing boot floppies)
425it is often useful to load the floppy contents into a
c13182ef
MK
426ramdisk.
427One might also have a system in which first
9ee4a2b6 428some modules (for filesystem or hardware) must be loaded
fea681da
MK
429before the main disk can be accessed.
430
431In Linux 1.3.48, ramdisk handling was changed drastically.
432Earlier, the memory was allocated statically, and there was
40dedbfe 433a 'ramdisk=N' parameter to tell its size.
421405f9 434(This could also be set in the kernel image at compile time.)
fea681da 435These days ram disks use the buffer cache, and grow dynamically.
421405f9 436For a lot of information in conjunction with the new ramdisk
22367af2 437setup, see the kernel source file
51700fd7 438.IR Documentation/blockdev/ramdisk.txt
e57fca5a
MK
439.RI ( Documentation/ramdisk.txt
440in older kernels).
fea681da
MK
441
442There are four parameters, two boolean and two integral.
bebbbd1f 443.TP
40dedbfe 444.B "'load_ramdisk=N'"
c13182ef
MK
445If N=1, do load a ramdisk.
446If N=0, do not load a ramdisk.
fea681da 447(This is the default.)
bebbbd1f 448.TP
40dedbfe 449.B "'prompt_ramdisk=N'"
c13182ef
MK
450If N=1, do prompt for insertion of the floppy.
451(This is the default.)
452If N=0, do not prompt.
453(Thus, this parameter is never needed.)
bebbbd1f 454.TP
40dedbfe 455.BR 'ramdisk_size=N' " or (obsolete) " 'ramdisk=N'
c13182ef
MK
456Set the maximal size of the ramdisk(s) to N kB.
457The default is 4096 (4 MB).
bebbbd1f 458.TP
40dedbfe 459.B "'ramdisk_start=N'"
fea681da
MK
460Sets the starting block number (the offset on the floppy where
461the ramdisk starts) to N.
462This is needed in case the ramdisk follows a kernel image.
bebbbd1f 463.TP
40dedbfe
MK
464.B "'noinitrd'"
465(Only if the kernel was compiled with
466.B CONFIG_BLK_DEV_RAM
467and
468.BR CONFIG_BLK_DEV_INITRD .)
fea681da
MK
469These days it is possible to compile the kernel to use initrd.
470When this feature is enabled, the boot process will load the kernel
471and an initial ramdisk; then the kernel converts initrd into
472a "normal" ramdisk, which is mounted read-write as root device;
e57fca5a
MK
473then
474.I /linuxrc
9ee4a2b6
MK
475is executed; afterward the "real" root filesystem is mounted,
476and the initrd filesystem is moved over to
e57fca5a
MK
477.IR /initrd ;
478finally
479the usual boot sequence (e.g., invocation of
480.IR /sbin/init )
481is performed.
fea681da 482
e57fca5a
MK
483For a detailed description of the initrd feature, see the kernel source file
484.IR Documentation/initrd.txt .
fea681da 485
40dedbfe 486The 'noinitrd' option tells the kernel that although it was compiled for
fea681da
MK
487operation with initrd, it should not go through the above steps, but
488leave the initrd data under
489.IR /dev/initrd .
4d9b6984 490(This device can be used only once: the data is freed as soon as
fea681da
MK
491the last process that used it has closed
492.IR /dev/initrd .)
73d8cece 493.SS Boot arguments for SCSI devices
fea681da
MK
494General notation for this section:
495
496.I iobase
c13182ef
MK
497-- the first I/O port that the SCSI host occupies.
498These are specified in hexadecimal notation,
499and usually lie in the range from 0x200 to 0x3ff.
fea681da
MK
500
501.I irq
502-- the hardware interrupt that the card is configured to use.
503Valid values will be dependent on the card in question, but will
c13182ef
MK
504usually be 5, 7, 9, 10, 11, 12, and 15.
505The other values are usually
fea681da 506used for common peripherals like IDE hard disks, floppies, serial
fb3969cd 507ports, and so on.
fea681da
MK
508
509.I scsi-id
510-- the ID that the host adapter uses to identify itself on the
c13182ef
MK
511SCSI bus.
512Only some host adapters allow you to change this value, as
513most have it permanently specified internally.
514The usual default value
fea681da
MK
515is 7, but the Seagate and Future Domain TMC-950 boards use 6.
516
517.I parity
518-- whether the SCSI host adapter expects the attached devices
c13182ef
MK
519to supply a parity value with all information exchanges.
520Specifying a one indicates parity checking is enabled,
521and a zero disables parity checking.
522Again, not all adapters will support selection of parity
d9bfdb9c 523behavior as a boot argument.
bebbbd1f 524.TP
40dedbfe 525.B "'max_scsi_luns=...'"
310672d6 526A SCSI device can have a number of 'subdevices' contained within
c13182ef
MK
527itself.
528The most common example is one of the new SCSI CD-ROMs that
529handle more than one disk at a time.
530Each CD is addressed as a
25715c96 531\&'Logical Unit Number' (LUN) of that particular device.
c13182ef 532But most
fea681da
MK
533devices, such as hard disks, tape drives and such are only one device,
534and will be assigned to LUN zero.
535
536Some poorly designed SCSI devices cannot handle being probed for
c13182ef 537LUNs not equal to zero.
29aceda4 538Therefore, if the compile-time flag
40dedbfe 539.B CONFIG_SCSI_MULTI_LUN
e0a06014 540is not set, newer kernels will by default probe only LUN zero.
fea681da
MK
541
542To specify the number of probed LUNs at boot, one enters
25715c96 543\&'max_scsi_luns=n' as a boot arg, where n is a number between one and
c13182ef
MK
544eight.
545To avoid problems as described above, one would use n=1 to
fea681da 546avoid upsetting such broken devices.
bebbbd1f
MK
547.TP
548.B "SCSI tape configuration"
fea681da
MK
549Some boot time configuration of the SCSI tape driver can be achieved
550by using the following:
77bda21c
MK
551
552.in +4n
553.nf
fea681da 554.BI st= buf_size[,write_threshold[,max_bufs]]
77bda21c
MK
555.fi
556.in
bebbbd1f 557.sp
c13182ef
MK
558The first two numbers are specified in units of kB.
559The default
fea681da
MK
560.I buf_size
561is 32kB, and the maximum size that can be specified is a
c13182ef
MK
562ridiculous 16384kB.
563The
fea681da
MK
564.I write_threshold
565is the value at which the buffer is committed to tape, with a
c13182ef
MK
566default value of 30kB.
567The maximum number of buffers varies
fea681da
MK
568with the number of drives detected, and has a default of two.
569An example usage would be:
77bda21c
MK
570
571.in +4n
572.nf
fea681da 573st=32,30,2
77bda21c
MK
574.fi
575.in
bebbbd1f 576.IP
4568d084
MK
577Full details can be found in the file
578.I Documentation/scsi/st.txt
579(or
580.I drivers/scsi/README.st
66a9882e 581for older kernels) in the Linux kernel source.
bebbbd1f
MK
582.TP
583.B "Adaptec aha151x, aha152x, aic6260, aic6360, SB16-SCSI configuration"
fea681da
MK
584The aha numbers refer to cards and the aic numbers refer to the actual
585SCSI chip on these type of cards, including the Soundblaster-16 SCSI.
586
587The probe code for these SCSI hosts looks for an installed BIOS, and
c13182ef
MK
588if none is present, the probe will not find your card.
589Then you will
77bda21c
MK
590have to use a boot argument of the form:
591
592.in +4n
593.nf
fea681da 594.BI aha152x= iobase[,irq[,scsi-id[,reconnect[,parity]]]]
77bda21c
MK
595.fi
596.in
bebbbd1f 597.IP
fea681da
MK
598If the driver was compiled with debugging enabled, a sixth
599value can be specified to set the debug level.
600
601All the parameters are as described at the top of this section, and the
602.I reconnect
c7094399 603value will allow device disconnect/reconnect if a nonzero value
c13182ef
MK
604is used.
605An example usage is as follows:
77bda21c
MK
606
607.in +4n
608.nf
fea681da 609aha152x=0x340,11,7,1
77bda21c
MK
610.fi
611.in
bebbbd1f 612.IP
fea681da
MK
613Note that the parameters must be specified in order, meaning that if
614you want to specify a parity setting, then you will have to specify an
615iobase, irq, scsi-id and reconnect value as well.
bebbbd1f
MK
616.TP
617.B "Adaptec aha154x configuration"
fea681da 618The aha1542 series cards have an i82077 floppy controller onboard,
c13182ef
MK
619while the aha1540 series cards do not.
620These are busmastering cards,
324633ae 621and have parameters to set the "fairness" that is used to share
c13182ef 622the bus with other devices.
77bda21c
MK
623The boot argument looks like the following.
624
625.in +4n
626.nf
fea681da 627.BI aha1542= iobase[,buson,busoff[,dmaspeed]]
77bda21c
MK
628.fi
629.in
bebbbd1f 630.IP
fea681da 631Valid iobase values are usually one of: 0x130, 0x134, 0x230, 0x234,
c13182ef
MK
6320x330, 0x334.
633Clone cards may permit other values.
fea681da
MK
634
635The
636.IR buson ", " busoff
637values refer to the number of microseconds that the
c13182ef
MK
638card dominates the ISA bus.
639The defaults are 11us on, and 4us off, so
fea681da
MK
640that other cards (such as an ISA LANCE Ethernet card) have a chance to
641get access to the ISA bus.
642
643The
644.I dmaspeed
645value refers to the rate (in MB/s) at which the DMA
c13182ef
MK
646(Direct Memory Access) transfers proceed.
647The default is 5MB/s.
fea681da 648Newer revision cards allow you to select this value as part of the
c13182ef
MK
649soft-configuration, older cards use jumpers.
650You can use values up to
fea681da
MK
65110MB/s assuming that your motherboard is capable of handling it.
652Experiment with caution if using values over 5MB/s.
bebbbd1f
MK
653.TP
654.B "Adaptec aha274x, aha284x, aic7xxx configuration"
fea681da 655These boards can accept an argument of the form:
77bda21c
MK
656
657.in +4n
658.nf
fea681da 659.BI aic7xxx= extended,no_reset
77bda21c
MK
660.fi
661.in
bebbbd1f 662.IP
fea681da
MK
663The
664.I extended
c7094399 665value, if nonzero, indicates that extended translation for large
c13182ef
MK
666disks is enabled.
667The
fea681da 668.I no_reset
c7094399 669value, if nonzero, tells the driver not to reset the SCSI bus when
d89be9f3 670setting up the host adapter at boot.
bebbbd1f 671.TP
40dedbfe 672.B "AdvanSys SCSI Hosts configuration ('advansys=')"
e57fca5a 673The AdvanSys driver can accept up to four I/O addresses that will be
c13182ef
MK
674probed for an AdvanSys SCSI card.
675Note that these values (if used) do
676not effect EISA or PCI probing in any way.
33a0ccb2 677They are used only for
c13182ef
MK
678probing ISA and VLB cards.
679In addition, if the driver has been
fea681da 680compiled with debugging enabled, the level of debugging output can be
c13182ef
MK
681set by adding an 0xdeb[0-f] parameter.
682The 0-f allows setting the
fea681da 683level of the debugging messages to any of 16 levels of verbosity.
bebbbd1f
MK
684.TP
685.B "AM53C974"
77bda21c
MK
686Syntax:
687
688.in +4n
689.nf
fea681da 690.BI AM53C974= host-scsi-id,target-scsi-id,max-rate,max-offset
77bda21c
MK
691.fi
692.in
bebbbd1f 693.TP
40dedbfe 694.B "BusLogic SCSI Hosts configuration ('BusLogic=')"
77bda21c
MK
695
696Syntax:
697.in +4n
698.nf
fea681da 699.BI BusLogic= N1,N2,N3,N4,N5,S1,S2,...
77bda21c
MK
700.fi
701.in
bebbbd1f 702.IP
fea681da 703For an extensive discussion of the BusLogic command line parameters,
e57fca5a
MK
704see the kernel source file
705.IR drivers/scsi/BusLogic.c .
706.\" (lines 3149-3270 in the kernel version I am looking at).
c13182ef 707The text
fea681da
MK
708below is a very much abbreviated extract.
709
c13182ef
MK
710The parameters N1-N5 are integers.
711The parameters S1,... are strings.
fea681da
MK
712N1 is the I/O Address at which the Host Adapter is located.
713N2 is the Tagged Queue Depth to use for Target Devices that support
714Tagged Queuing.
c13182ef
MK
715N3 is the Bus Settle Time in seconds.
716This is the amount of time
fea681da
MK
717to wait between a Host Adapter Hard Reset which
718initiates a SCSI Bus Reset and issuing any SCSI Commands.
719N4 is the Local Options (for one Host Adapter).
720N5 is the Global Options (for all Host Adapters).
721
722The string options are used to provide control over Tagged Queuing
723(TQ:Default, TQ:Enable, TQ:Disable, TQ:<Per-Target-Spec>), over
724Error Recovery (ER:Default, ER:HardReset, ER:BusDeviceReset,
725ER:None, ER:<Per-Target-Spec>), and over Host Adapter Probing
726(NoProbe, NoProbeISA, NoSortPCI).
bebbbd1f
MK
727.TP
728.B "EATA/DMA configuration"
e57fca5a 729The default list of I/O ports to be probed can be changed by
77bda21c
MK
730
731.in +4n
732.nf
aeb9b6a6 733.BI eata= iobase,iobase,... .
77bda21c
MK
734.fi
735.in
bebbbd1f
MK
736.TP
737.B "Future Domain TMC-16x0 configuration"
77bda21c
MK
738Syntax:
739
740.in +4n
741.nf
fea681da 742.BI fdomain= iobase,irq[,adapter_id]
77bda21c
MK
743.fi
744.in
bebbbd1f
MK
745.TP
746.B "Great Valley Products (GVP) SCSI controller configuration"
77bda21c
MK
747Syntax:
748
749.in +4n
750.nf
fea681da 751.BI gvp11= dma_transfer_bitmask
77bda21c
MK
752.fi
753.in
bebbbd1f
MK
754.TP
755.B "Future Domain TMC-8xx, TMC-950 configuration"
77bda21c
MK
756Syntax:
757
758.in +4n
759.nf
fea681da 760.BI tmc8xx= mem_base,irq
77bda21c
MK
761.fi
762.in
bebbbd1f 763.IP
fea681da
MK
764The
765.I mem_base
9a141bfb 766value is the value of the memory-mapped I/O region that
c13182ef
MK
767the card uses.
768This will usually be one of the following values:
fea681da 7690xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000.
bebbbd1f
MK
770.TP
771.B "IN2000 configuration"
77bda21c
MK
772Syntax:
773
774.in +4n
775.nf
fea681da 776.BI in2000= S
77bda21c
MK
777.fi
778.in
bebbbd1f 779.IP
fea681da
MK
780where S is a comma-separated string of items keyword[:value].
781Recognized keywords (possibly with value) are:
782ioport:addr, noreset, nosync:x, period:ns, disconnect:x,
c13182ef 783debug:x, proc:x.
e57fca5a
MK
784For the function of these parameters, see the kernel source file
785.IR drivers/scsi/in2000.c .
bebbbd1f
MK
786.TP
787.B "NCR5380 and NCR53C400 configuration"
77bda21c
MK
788The boot argument is of the form
789
790.in +4n
791.nf
fea681da 792.BI ncr5380= iobase,irq,dma
77bda21c
MK
793.fi
794.in
bebbbd1f 795.IP
fea681da 796or
77bda21c
MK
797
798.in +4n
799.nf
fea681da 800.BI ncr53c400= iobase,irq
77bda21c
MK
801.fi
802.in
bebbbd1f 803.IP
fea681da 804If the card doesn't use interrupts, then an IRQ value of 255 (0xff) will
c13182ef
MK
805disable interrupts.
806An IRQ value of 254 means to autoprobe.
4568d084
MK
807More details can be found in the file
808.I Documentation/scsi/g_NCR5380.txt
809(or
810.I drivers/scsi/README.g_NCR5380
66a9882e 811for older kernels) in the Linux kernel source.
bebbbd1f
MK
812.TP
813.B "NCR53C8xx configuration"
77bda21c
MK
814Syntax:
815
816.in +4n
817.nf
fea681da 818.BI ncr53c8xx= S
77bda21c
MK
819.fi
820.in
bebbbd1f 821.IP
fea681da
MK
822where S is a comma-separated string of items keyword:value.
823Recognized keywords are: mpar (master_parity), spar (scsi_parity),
824disc (disconnection), specf (special_features), ultra (ultra_scsi),
825fsn (force_sync_nego), tags (default_tags), sync (default_sync),
826verb (verbose), debug (debug), burst (burst_max).
e57fca5a
MK
827For the function of the assigned values, see the kernel source file
828.IR drivers/scsi/ncr53c8xx.c .
bebbbd1f
MK
829.TP
830.B "NCR53c406a configuration"
77bda21c
MK
831Syntax:
832
833.in +4n
834.nf
fea681da 835.BI ncr53c406a= iobase[,irq[,fastpio]]
77bda21c
MK
836.fi
837.in
bebbbd1f 838.IP
24b74457 839Specify irq = 0 for noninterrupt driven mode.
fea681da 840Set fastpio = 1 for fast pio mode, 0 for slow mode.
bebbbd1f
MK
841.TP
842.B "Pro Audio Spectrum configuration"
fea681da 843The PAS16 uses a NC5380 SCSI chip, and newer models support
c13182ef 844jumperless configuration.
77bda21c
MK
845The boot argument is of the form:
846
847.in +4n
848.nf
fea681da 849.BI pas16= iobase,irq
77bda21c
MK
850.fi
851.in
bebbbd1f 852.IP
fea681da
MK
853The only difference is that you can specify an IRQ value of 255, which
854will tell the driver to work without using interrupts, albeit at a
c13182ef
MK
855performance loss.
856The iobase is usually 0x388.
bebbbd1f
MK
857.TP
858.B "Seagate ST-0x configuration"
fea681da 859If your card is not detected at boot time,
77bda21c
MK
860you will then have to use a boot argument of the form:
861
862.in +4n
863.nf
fea681da 864.BI st0x= mem_base,irq
77bda21c
MK
865.fi
866.in
bebbbd1f 867.IP
fea681da
MK
868The
869.I mem_base
9a141bfb 870value is the value of the memory-mapped I/O region that
c13182ef
MK
871the card uses.
872This will usually be one of the following values:
fea681da 8730xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000.
bebbbd1f
MK
874.TP
875.B "Trantor T128 configuration"
fea681da
MK
876These cards are also based on the NCR5380 chip, and accept the
877following options:
77bda21c
MK
878
879.in +4n
880.nf
fea681da 881.BI t128= mem_base,irq
77bda21c
MK
882.fi
883.in
bebbbd1f 884.IP
fea681da
MK
885The valid values for
886.I mem_base
887are as follows: 0xcc000, 0xc8000, 0xdc000, 0xd8000.
bebbbd1f
MK
888.TP
889.B "UltraStor 14F/34F configuration"
e57fca5a 890The default list of I/O ports to be probed can be changed by
77bda21c
MK
891
892.in +4n
893.nf
fea681da 894.BI eata= iobase,iobase,... .
77bda21c
MK
895.fi
896.in
bebbbd1f
MK
897.TP
898.B "WD7000 configuration"
77bda21c
MK
899Syntax:
900
901.in +4n
902.nf
fea681da 903.BI wd7000= irq,dma,iobase
77bda21c
MK
904.fi
905.in
bebbbd1f
MK
906.TP
907.B "Commodore Amiga A2091/590 SCSI controller configuration"
77bda21c
MK
908Syntax:
909
910.in +4n
911.nf
fea681da 912.BI wd33c93= S
77bda21c
MK
913.fi
914.in
bebbbd1f 915.IP
c13182ef
MK
916where S is a comma-separated string of options.
917Recognized options are
fea681da 918nosync:bitmask, nodma:x, period:ns, disconnect:x, debug:x,
c13182ef 919clock:x, next.
e57fca5a
MK
920For details, see the kernel source file
921.IR drivers/scsi/wd33c93.c .
73d8cece 922.SS Hard disks
bebbbd1f
MK
923.TP
924.B "IDE Disk/CD-ROM Driver Parameters"
fea681da 925The IDE driver accepts a number of parameters, which range from disk
c13182ef 926geometry specifications, to support for broken controller chips.
e2badfdf 927Drive-specific options are specified by using 'hdX=' with X in 'a'-'h'.
fea681da 928
e2badfdf
MK
929Non-drive-specific options are specified with the prefix 'hd='.
930Note that using a drive-specific prefix for a non-drive-specific option
fea681da
MK
931will still work, and the option will just be applied as expected.
932
40dedbfe 933Also note that 'hd=' can be used to refer to the next unspecified
c13182ef
MK
934drive in the (a, ..., h) sequence.
935For the following discussions,
40dedbfe 936the 'hd=' option will be cited for brevity.
c13182ef 937See the file
4568d084
MK
938.I Documentation/ide.txt
939(or
940.I drivers/block/README.ide
66a9882e 941for older kernels) in the Linux kernel source for more details.
bebbbd1f 942.TP
40dedbfe 943.B "The 'hd=cyls,heads,sects[,wpcom[,irq]]' options"
fea681da 944These options are used to specify the physical geometry of the disk.
c13182ef
MK
945Only the first three values are required.
946The cylinder/head/sectors
947values will be those used by fdisk.
948The write precompensation value
949is ignored for IDE disks.
950The IRQ value specified will be the IRQ
fea681da 951used for the interface that the drive resides on, and is not really a
e2badfdf 952drive-specific parameter.
bebbbd1f 953.TP
40dedbfe 954.B "The 'hd=serialize' option"
fea681da
MK
955The dual IDE interface CMD-640 chip is broken as designed such that
956when drives on the secondary interface are used at the same time as
c13182ef
MK
957drives on the primary interface, it will corrupt your data.
958Using this
fea681da
MK
959option tells the driver to make sure that both interfaces are never
960used at the same time.
bebbbd1f 961.TP
40dedbfe 962.B "The 'hd=dtc2278' option"
fea681da 963This option tells the driver that you have a DTC-2278D IDE interface.
e2badfdf 964The driver then tries to do DTC-specific operations to enable the
fea681da 965second interface and to enable faster transfer modes.
bebbbd1f 966.TP
40dedbfe 967.B "The 'hd=noprobe' option"
c13182ef
MK
968Do not probe for this drive.
969For example,
77bda21c
MK
970
971.in +4n
972.nf
fea681da 973hdb=noprobe hdb=1166,7,17
77bda21c
MK
974.fi
975.in
bebbbd1f 976.IP
fea681da
MK
977would disable the probe, but still specify the drive geometry so
978that it would be registered as a valid block device, and hence
979usable.
bebbbd1f 980.TP
40dedbfe
MK
981.B "The 'hd=nowerr' option"
982Some drives apparently have the
983.B WRERR_STAT
984bit stuck on permanently.
fea681da 985This enables a work-around for these broken devices.
bebbbd1f 986.TP
40dedbfe 987.B "The 'hd=cdrom' option"
fea681da 988This tells the IDE driver that there is an ATAPI compatible CD-ROM
c13182ef
MK
989attached in place of a normal IDE hard disk.
990In most cases the CD-ROM
fea681da 991is identified automatically, but if it isn't then this may help.
bebbbd1f 992.TP
40dedbfe 993.B "Standard ST-506 Disk Driver Options ('hd=')"
fea681da 994The standard disk driver can accept geometry arguments for the disks
c13182ef 995similar to the IDE driver.
33a0ccb2 996Note however that it expects only three
c13182ef 997values (C/H/S); any more or any less and it will silently ignore you.
33a0ccb2 998Also, it accepts only 'hd=' as an argument, that is, 'hda='
c13182ef
MK
999and so on are not valid here.
1000The format is as follows:
77bda21c
MK
1001
1002.in +4n
1003.nf
fea681da 1004hd=cyls,heads,sects
77bda21c
MK
1005.fi
1006.in
bebbbd1f 1007.IP
fea681da
MK
1008If there are two disks installed, the above is repeated with the
1009geometry parameters of the second disk.
bebbbd1f 1010.TP
40dedbfe 1011.B "XT Disk Driver Options ('xd=')"
1be0d829
MK
1012If you are unfortunate enough to be using one of these old 8-bit cards
1013that move data at a whopping 125kB/s, then here is the scoop.
77bda21c
MK
1014If the card is not recognized,
1015you will have to use a boot argument of the form:
1016
1017.in +4n
1018.nf
fea681da 1019xd=type,irq,iobase,dma_chan
77bda21c
MK
1020.fi
1021.in
bebbbd1f 1022.IP
fea681da 1023The type value specifies the particular manufacturer of the card,
c13182ef
MK
1024overriding autodetection.
1025For the types to use, consult the
fea681da 1026.I drivers/block/xd.c
c13182ef
MK
1027source file of the kernel you are using.
1028The type is an index in the list
fea681da
MK
1029.I xd_sigs
1030and in the course of time
1031.\" 1.1.50, 1.3.81, 1.3.99, 2.0.34, 2.1.67, 2.1.78, 2.1.127
1032types have been added to or deleted from the middle of the list,
c13182ef
MK
1033changing all type numbers.
1034Today (Linux 2.5.0) the types are
fea681da
MK
10350=generic; 1=DTC 5150cx; 2,3=DTC 5150x; 4,5=Western Digital;
10366,7,8=Seagate; 9=Omti; 10=XEBEC, and where here several types are
1037given with the same designation, they are equivalent.
1038
1039The xd_setup() function does no checking on the values, and assumes
c13182ef
MK
1040that you entered all four values.
1041Don't disappoint it.
1042Here is an
fea681da 1043example usage for a WD1002 controller with the BIOS disabled/removed,
40dedbfe 1044using the 'default' XT controller parameters:
77bda21c
MK
1045
1046.in +4n
1047.nf
fea681da 1048xd=2,5,0x320,3
77bda21c
MK
1049.fi
1050.in
bebbbd1f
MK
1051.TP
1052.B "Syquest's EZ* removable disks"
77bda21c
MK
1053Syntax:
1054
1055.in +4n
1056.nf
fea681da 1057.BI ez= iobase[,irq[,rep[,nybble]]]
77bda21c
MK
1058.fi
1059.in
73d8cece 1060.SS IBM MCA bus devices
e57fca5a
MK
1061See also the kernel source file
1062.IR Documentation/mca.txt .
bebbbd1f
MK
1063.TP
1064.B "PS/2 ESDI hard disks"
fea681da 1065It is possible to specify the desired geometry at boot time:
77bda21c
MK
1066
1067.in +4n
1068.nf
fea681da 1069.BI ed= cyls,heads,sectors.
77bda21c
MK
1070.fi
1071.in
bebbbd1f 1072.IP
fea681da 1073For a ThinkPad-720, add the option
77bda21c
MK
1074
1075.in +4n
1076.nf
fea681da 1077.BR tp720=1 .
77bda21c
MK
1078.fi
1079.in
bebbbd1f
MK
1080.TP
1081.B "IBM Microchannel SCSI Subsystem configuration"
77bda21c
MK
1082Syntax:
1083
1084.in +4n
1085.nf
fea681da 1086.BI ibmmcascsi= N
77bda21c
MK
1087.fi
1088.in
bebbbd1f 1089.IP
aeb9b6a6
MK
1090where N is the
1091.I pun
1092(SCSI ID) of the subsystem.
bebbbd1f
MK
1093.TP
1094.B "The Aztech Interface"
fea681da 1095The syntax for this type of card is:
77bda21c
MK
1096
1097.in +4n
1098.nf
fea681da 1099aztcd=iobase[,magic_number]
77bda21c
MK
1100.fi
1101.in
bebbbd1f 1102.IP
f14ae16e 1103If you set the magic_number to 0x79, then the driver will try and run
c13182ef
MK
1104anyway in the event of an unknown firmware version.
1105All other values
fea681da 1106are ignored.
bebbbd1f
MK
1107.TP
1108.B "Parallel port CD-ROM drives"
fea681da 1109Syntax:
77bda21c
MK
1110
1111.in +4n
1112.nf
fea681da 1113pcd.driveN=prt,pro,uni,mod,slv,dly
fea681da 1114pcd.nice=nice
77bda21c
MK
1115.fi
1116.in
bebbbd1f 1117.IP
40dedbfe
MK
1118where 'port' is the base address, 'pro' is the protocol number, 'uni'
1119is the unit selector (for chained devices), 'mod' is the mode (or \-1
1120to choose the best automatically), 'slv' is 1 if it should be a slave,
1121and 'dly' is a small integer for slowing down port accesses.
1122The 'nice' parameter controls the driver's use of idle CPU time, at the
fea681da 1123expense of some speed.
bebbbd1f
MK
1124.TP
1125.B "The CDU-31A and CDU-33A Sony Interface"
fea681da 1126This CD-ROM interface is found on some of the Pro Audio Spectrum sound
c13182ef
MK
1127cards, and other Sony supplied interface cards.
1128The syntax is as follows:
77bda21c
MK
1129
1130.in +4n
1131.nf
fea681da 1132cdu31a=iobase,[irq[,is_pas_card]]
77bda21c
MK
1133.fi
1134.in
bebbbd1f 1135.IP
fea681da 1136Specifying an IRQ value of zero tells the driver that hardware
c13182ef
MK
1137interrupts aren't supported (as on some PAS cards).
1138If your card
fea681da
MK
1139supports interrupts, you should use them as it cuts down on the CPU
1140usage of the driver.
1141
1142The
1143.I is_pas_card
40dedbfe 1144should be entered as 'PAS' if using a Pro Audio Spectrum card,
fea681da 1145and otherwise it should not be specified at all.
bebbbd1f
MK
1146.TP
1147.B "The CDU-535 Sony Interface"
fea681da 1148The syntax for this CD-ROM interface is:
77bda21c
MK
1149
1150.in +4n
1151.nf
fea681da 1152sonycd535=iobase[,irq]
77bda21c
MK
1153.fi
1154.in
bebbbd1f 1155.IP
40dedbfe 1156A zero can be used for the I/O base as a 'placeholder' if one wishes
fea681da 1157to specify an IRQ value.
bebbbd1f
MK
1158.TP
1159.B "The GoldStar Interface"
fea681da 1160The syntax for this CD-ROM interface is:
77bda21c
MK
1161
1162.in +4n
1163.nf
fea681da 1164gscd=iobase
77bda21c
MK
1165.fi
1166.in
bebbbd1f
MK
1167.TP
1168.B "The ISP16 CD-ROM Interface"
fea681da 1169Syntax:
77bda21c
MK
1170
1171.in +4n
1172.nf
fea681da 1173isp16=[iobase[,irq[,dma[,type]]]]
77bda21c
MK
1174.fi
1175.in
bebbbd1f 1176.IP
77bda21c 1177(Three integers and a string.)
40dedbfe 1178If the type is given as 'noisp16',
c13182ef
MK
1179the interface will not be configured.
1180Other recognized types
40dedbfe 1181are: 'Sanyo", 'Sony', 'Panasonic' and 'Mitsumi'.
bebbbd1f
MK
1182.TP
1183.B "The Mitsumi Standard Interface"
fea681da 1184The syntax for this CD-ROM interface is:
77bda21c
MK
1185
1186.in +4n
1187.nf
fea681da 1188mcd=iobase,[irq[,wait_value]]
77bda21c
MK
1189.fi
1190.in
bebbbd1f 1191.IP
fea681da
MK
1192The
1193.I wait_value
1194is used as an internal timeout value for people who are
1195having problems with their drive, and may or may not be implemented
29aceda4 1196depending on a compile-time #define.
fea681da
MK
1197The Mitsumi FX400 is an IDE/ATAPI CD-ROM player and does not use
1198the mcd driver.
bebbbd1f
MK
1199.TP
1200.B "The Mitsumi XA/MultiSession Interface"
fea681da
MK
1201This is for the same hardware as above, but the driver has extended features.
1202Syntax:
77bda21c
MK
1203
1204.in +4n
1205.nf
fea681da 1206mcdx=iobase[,irq]
77bda21c
MK
1207.fi
1208.in
bebbbd1f
MK
1209.TP
1210.B "The Optics Storage Interface"
fea681da 1211The syntax for this type of card is:
77bda21c
MK
1212
1213.in +4n
1214.nf
fea681da 1215optcd=iobase
77bda21c
MK
1216.fi
1217.in
bebbbd1f
MK
1218.TP
1219.B "The Phillips CM206 Interface"
fea681da 1220The syntax for this type of card is:
77bda21c
MK
1221
1222.in +4n
1223.nf
fea681da 1224cm206=[iobase][,irq]
77bda21c
MK
1225.fi
1226.in
bebbbd1f 1227.IP
fea681da
MK
1228The driver assumes numbers between 3 and 11 are IRQ values, and
1229numbers between 0x300 and 0x370 are I/O ports, so you can specify one,
c13182ef 1230or both numbers, in any order.
40dedbfe 1231It also accepts 'cm206=auto' to enable
fea681da 1232autoprobing.
bebbbd1f
MK
1233.TP
1234.B "The Sanyo Interface"
fea681da 1235The syntax for this type of card is:
77bda21c
MK
1236
1237.in +4n
1238.nf
fea681da 1239sjcd=iobase[,irq[,dma_channel]]
77bda21c
MK
1240.fi
1241.in
bebbbd1f
MK
1242.TP
1243.B "The SoundBlaster Pro Interface"
fea681da 1244The syntax for this type of card is:
77bda21c
MK
1245
1246.in +4n
1247.nf
fea681da 1248sbpcd=iobase,type
77bda21c
MK
1249.fi
1250.in
bebbbd1f 1251.IP
fea681da 1252where type is one of the following (case sensitive) strings:
25715c96 1253\&'SoundBlaster', 'LaserMate', or 'SPEA'.
c13182ef 1254The I/O base is that of the
fea681da 1255CD-ROM interface, and not that of the sound portion of the card.
73d8cece 1256.SS Ethernet devices
fea681da 1257Different drivers make use of different parameters, but they all at
c13182ef
MK
1258least share having an IRQ, an I/O port base value, and a name.
1259In its most generic form, it looks something like this:
77bda21c
MK
1260
1261.in +4n
1262.nf
fea681da 1263ether=irq,iobase[,param_1[,...param_8]],name
77bda21c
MK
1264.fi
1265.in
1266
80c9146c 1267The first nonnumeric argument is taken as the name.
c13182ef
MK
1268The param_n values (if applicable) usually have different meanings for each
1269different card/driver.
1270Typical param_n values are used to specify
fea681da
MK
1271things like shared memory address, interface selection, DMA channel
1272and the like.
1273
1274The most common use of this parameter is to force probing for a second
33a0ccb2 1275ethercard, as the default is to probe only for one.
c13182ef 1276This can be accomplished with a simple:
77bda21c
MK
1277
1278.in +4n
1279.nf
fea681da 1280ether=0,0,eth1
77bda21c
MK
1281.fi
1282.in
1283
fea681da
MK
1284Note that the values of zero for the IRQ and I/O base in the above
1285example tell the driver(s) to autoprobe.
1286
1287The Ethernet-HowTo has extensive documentation on using multiple
e2badfdf 1288cards and on the card/driver-specific implementation
c13182ef
MK
1289of the param_n values where used.
1290Interested readers should refer to
fea681da 1291the section in that document on their particular card.
73d8cece 1292.SS The floppy disk driver
fea681da 1293There are many floppy driver options, and they are all listed in
4568d084
MK
1294.I Documentation/floppy.txt
1295(or
1296.I drivers/block/README.fd
66a9882e 1297for older kernels) in the Linux kernel source.
c13182ef 1298This information is taken directly
fea681da 1299from that file.
bebbbd1f
MK
1300.TP
1301.B "floppy=mask,allowed_drive_mask"
10f5f294 1302Sets the bit mask of allowed drives to mask.
c13182ef
MK
1303By default, only units 0
1304and 1 of each floppy controller are allowed.
1305This is done because
c8f2dd47 1306certain nonstandard hardware (ASUS PCI motherboards) mess up the
c13182ef
MK
1307keyboard when accessing units 2 or 3.
1308This option is somewhat
fea681da 1309obsoleted by the cmos option.
bebbbd1f
MK
1310.TP
1311.B "floppy=all_drives"
10f5f294 1312Sets the bit mask of allowed drives to all drives.
c13182ef 1313Use this if you have
fea681da 1314more than two drives connected to a floppy controller.
bebbbd1f
MK
1315.TP
1316.B "floppy=asus_pci"
6387216b
MK
1317Sets the bit mask to allow only units 0 and 1.
1318(The default)
bebbbd1f
MK
1319.TP
1320.B "floppy=daring"
fea681da 1321Tells the floppy driver that you have a well behaved floppy
c13182ef
MK
1322controller.
1323This allows more efficient and smoother operation, but
1324may fail on certain controllers.
1325This may speed up certain operations.
bebbbd1f
MK
1326.TP
1327.B "floppy=0,daring"
fea681da
MK
1328Tells the floppy driver that your floppy controller should be used
1329with caution.
bebbbd1f
MK
1330.TP
1331.B "floppy=one_fdc"
fea681da 1332Tells the floppy driver that you have only floppy controller (default)
bebbbd1f 1333.TP
40dedbfe 1334.BR floppy=two_fdc " or " floppy=address,two_fdc
c13182ef
MK
1335Tells the floppy driver that you have two floppy controllers.
1336The second floppy controller is assumed to be at address.
1337If address is
fea681da 1338not given, 0x370 is assumed.
bebbbd1f
MK
1339.TP
1340.B "floppy=thinkpad"
c13182ef
MK
1341Tells the floppy driver that you have a Thinkpad.
1342Thinkpads use an
fea681da 1343inverted convention for the disk change line.
bebbbd1f
MK
1344.TP
1345.B "floppy=0,thinkpad"
fea681da 1346Tells the floppy driver that you don't have a Thinkpad.
bebbbd1f
MK
1347.TP
1348.B "floppy=drive,type,cmos"
c13182ef
MK
1349Sets the cmos type of drive to type.
1350Additionally, this drive is
10f5f294 1351allowed in the bit mask.
c13182ef 1352This is useful if you have more than two
fea681da 1353floppy drives (only two can be described in the physical cmos), or if
c8f2dd47 1354your BIOS uses nonstandard CMOS types.
c13182ef 1355Setting the CMOS to 0 for the
fea681da
MK
1356first two drives (default) makes the floppy driver read the physical
1357cmos for those drives.
bebbbd1f
MK
1358.TP
1359.B "floppy=unexpected_interrupts"
fea681da 1360Print a warning message when an unexpected interrupt is received
d9bfdb9c 1361(default behavior)
bebbbd1f 1362.TP
40dedbfe 1363.BR floppy=no_unexpected_interrupts " or " floppy=L40SX
c13182ef
MK
1364Don't print a message when an unexpected interrupt is received.
1365This is needed on IBM L40SX laptops in certain video modes.
1366(There seems to
1367be an interaction between video and floppy.
1368The unexpected interrupts
fea681da 1369only affect performance, and can safely be ignored.)
73d8cece 1370.SS The sound driver
77bda21c 1371The sound driver can also accept boot arguments to override the compiled in
c13182ef
MK
1372values.
1373This is not recommended, as it is rather complex.
66a9882e 1374It is described in the Linux kernel source file
ef505ff0
MK
1375.IR Documentation/sound/oss/README.OSS
1376.RI ( drivers/sound/Readme.linux
1377in older kernel versions).
c13182ef 1378It accepts
77bda21c
MK
1379a boot argument of the form:
1380
1381.in +4n
1382.nf
fea681da 1383sound=device1[,device2[,device3...[,device10]]]
77bda21c
MK
1384.fi
1385.in
bebbbd1f 1386.IP
fea681da
MK
1387where each deviceN value is of the following format 0xTaaaId and the
1388bytes are used as follows:
1389
4d9b6984 1390T \- device type: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16,
fea681da
MK
13917=SB16-MPU401
1392
4d9b6984 1393aaa \- I/O address in hex.
fea681da 1394
4d9b6984 1395I \- interrupt line in hex (i.e 10=a, 11=b, ...)
fea681da 1396
4d9b6984 1397d \- DMA channel.
fea681da
MK
1398
1399As you can see it gets pretty messy, and you are better off to compile
c13182ef 1400in your own personal values as recommended.
77bda21c 1401Using a boot argument of
25715c96 1402\&'sound=0' will disable the sound driver entirely.
73d8cece 1403.SS ISDN drivers
bebbbd1f
MK
1404.TP
1405.B "The ICN ISDN driver"
fea681da 1406Syntax:
77bda21c
MK
1407
1408.in +4n
1409.nf
fea681da 1410icn=iobase,membase,icn_id1,icn_id2
77bda21c
MK
1411.fi
1412.in
bebbbd1f 1413.IP
fea681da
MK
1414where icn_id1,icn_id2 are two strings used to identify the
1415card in kernel messages.
bebbbd1f
MK
1416.TP
1417.B "The PCBIT ISDN driver"
fea681da 1418Syntax:
77bda21c
MK
1419
1420.in +4n
1421.nf
fea681da 1422pcbit=membase1,irq1[,membase2,irq2]
77bda21c
MK
1423.fi
1424.in
bebbbd1f 1425.IP
fea681da 1426where membaseN is the shared memory base of the N'th card, and irqN is
c13182ef
MK
1427the interrupt setting of the N'th card.
1428The default is IRQ 5 and
fea681da 1429membase 0xD0000.
bebbbd1f
MK
1430.TP
1431.B "The Teles ISDN driver"
fea681da 1432Syntax:
77bda21c
MK
1433
1434.in +4n
1435.nf
fea681da 1436teles=iobase,irq,membase,protocol,teles_id
77bda21c
MK
1437.fi
1438.in
bebbbd1f 1439.IP
e57fca5a 1440where iobase is the I/O port address of the card, membase is the
fea681da
MK
1441shared memory base address of the card, irq is the interrupt channel
1442the card uses, and teles_id is the unique ASCII string identifier.
73d8cece 1443.SS Serial port drivers
bebbbd1f 1444.TP
40dedbfe 1445.B "The RISCom/8 Multiport Serial Driver ('riscom8=')"
fea681da 1446Syntax:
77bda21c
MK
1447
1448.in +4n
1449.nf
fea681da 1450riscom=iobase1[,iobase2[,iobase3[,iobase4]]]
77bda21c
MK
1451.fi
1452.in
bebbbd1f 1453.IP
e57fca5a
MK
1454More details can be found in the kernel source file
1455.IR Documentation/riscom8.txt .
bebbbd1f 1456.TP
40dedbfe 1457.B "The DigiBoard Driver ('digi=')"
fea681da
MK
1458If this option is used, it should have precisely six parameters.
1459Syntax:
77bda21c
MK
1460
1461.in +4n
1462.nf
fea681da 1463digi=status,type,altpin,numports,iobase,membase
77bda21c
MK
1464.fi
1465.in
bebbbd1f 1466.IP
fea681da
MK
1467The parameters maybe given as integers, or as strings.
1468If strings are used, then iobase and membase should be given
1469in hexadecimal.
1470The integer arguments (fewer may be given) are in order:
1471status (Enable(1) or Disable(0) this card),
1472type (PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)),
1473altpin (Enable(1) or Disable(0) alternate pin arrangement),
1474numports (number of ports on this card),
1475iobase (I/O Port where card is configured (in HEX)),
1476membase (base of memory window (in HEX)).
1477Thus, the following two boot prompt arguments are equivalent:
77bda21c
MK
1478
1479.in +4n
1480.nf
fea681da 1481digi=E,PC/Xi,D,16,200,D0000
fea681da 1482digi=1,0,0,16,0x200,851968
77bda21c
MK
1483.fi
1484.in
bebbbd1f 1485.IP
e57fca5a
MK
1486More details can be found in the kernel source file
1487.IR Documentation/digiboard.txt .
bebbbd1f
MK
1488.TP
1489.B "The Baycom Serial/Parallel Radio Modem"
fea681da 1490Syntax:
77bda21c
MK
1491
1492.in +4n
1493.nf
fea681da 1494baycom=iobase,irq,modem
77bda21c
MK
1495.fi
1496.in
bebbbd1f 1497.IP
fea681da 1498There are precisely 3 parameters; for several cards, give
40dedbfe 1499several 'baycom=' commands.
c13182ef 1500The modem parameter is a string
fea681da
MK
1501that can take one of the values ser12, ser12*, par96, par96*.
1502Here the * denotes that software DCD is to be used, and
1503ser12/par96 chooses between the supported modem types.
4568d084
MK
1504For more details, see the file
1505.I Documentation/networking/baycom.txt
1506(or
1507.I drivers/net/README.baycom
66a9882e 1508for older kernels) in the Linux kernel source.
bebbbd1f
MK
1509.TP
1510.B "Soundcard radio modem driver"
fea681da 1511Syntax:
77bda21c
MK
1512
1513.in +4n
1514.nf
fea681da 1515soundmodem=iobase,irq,dma[,dma2[,serio[,pario]]],0,mode
77bda21c
MK
1516.fi
1517.in
bebbbd1f 1518.IP
fea681da
MK
1519All parameters except the last are integers;
1520the dummy 0 is required because of a bug in the setup code.
1521The mode parameter is a string with syntax hw:modem,
31df5734
MK
1522where hw is one of sbc, wss, or wssfdx, and modem is one of
1523afsk1200 or fsk9600.
73d8cece 1524.SS The line printer driver
bebbbd1f 1525.TP
40dedbfe 1526.B "'lp='"
77bda21c 1527.br
fea681da 1528Syntax:
77bda21c
MK
1529
1530.in +4n
1531.nf
fea681da 1532lp=0
fea681da 1533lp=auto
fea681da 1534lp=reset
fea681da 1535lp=port[,port...]
77bda21c
MK
1536.fi
1537.in
bebbbd1f 1538.IP
fea681da 1539You can tell the printer driver what ports to use and what ports not
c13182ef
MK
1540to use.
1541The latter comes in handy if you don't want the printer driver
fea681da 1542to claim all available parallel ports, so that other drivers
75b94dc3 1543(e.g., PLIP, PPA) can use them instead.
fea681da 1544
c13182ef
MK
1545The format of the argument is multiple port names.
1546For example,
fea681da 1547lp=none,parport0 would use the first parallel port for lp1, and
c13182ef
MK
1548disable lp0.
1549To disable the printer driver entirely, one can use
fea681da 1550lp=0.
bebbbd1f
MK
1551.TP
1552.B "WDT500/501 driver"
fea681da 1553Syntax:
77bda21c
MK
1554
1555.in +4n
1556.nf
fea681da 1557wdt=io,irq
77bda21c
MK
1558.fi
1559.in
73d8cece 1560.SS Mouse drivers
bebbbd1f 1561.TP
40dedbfe 1562.B "'bmouse=irq'"
33a0ccb2 1563The busmouse driver accepts only one parameter, that being the
fea681da 1564hardware IRQ value to be used.
bebbbd1f 1565.TP
40dedbfe 1566.B "'msmouse=irq'"
fea681da 1567And precisely the same is true for the msmouse driver.
bebbbd1f
MK
1568.TP
1569.B "ATARI mouse setup"
77bda21c
MK
1570Syntax:
1571
1572.in +4n
1573.nf
fea681da 1574atamouse=threshold[,y-threshold]
77bda21c
MK
1575.fi
1576.in
fea681da
MK
1577.IP
1578If only one argument is given, it is used for both
c13182ef
MK
1579x-threshold and y-threshold.
1580Otherwise, the first argument
fea681da
MK
1581is the x-threshold, and the second the y-threshold.
1582These values must lie between 1 and 20 (inclusive); the default is 2.
73d8cece 1583.SS Video hardware
bebbbd1f 1584.TP
40dedbfe 1585.B "'no-scroll'"
fea681da
MK
1586This option tells the console driver not to use hardware scroll
1587(where a scroll is effected by moving the screen origin in video
c13182ef
MK
1588memory, instead of moving the data).
1589It is required by certain
fea681da 1590Braille machines.
fd7f0a7f
MK
1591.\" .SH AUTHORS
1592.\" Linus Torvalds (and many others)
47297adb 1593.SH SEE ALSO
fea681da 1594.BR klogd (8),
421405f9 1595.BR mount (8)
fea681da
MK
1596
1597Large parts of this man page have been derived from the
1598Boot Parameter HOWTO (version 1.0.1) written by Paul Gortmaker.
1599More information may be found in this (or a more recent) HOWTO.
e57fca5a
MK
1600An up-to-date source of information is the kernel source file
1601.IR Documentation/kernel-parameters.txt .