]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man7/bootparam.7
bootparam.7: Remove crufty "Hard disks" options
[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
ad8fe082 39When the kernel is booted directly by the BIOS,
fea681da
MK
40you have no opportunity to specify any parameters.
41So, in order to take advantage of this possibility you have to
122a101a 42use a boot loader that is able to pass parameters, such as GRUB.
fea681da 43
18299dfc
MK
44.\" The LILO program (LInux LOader) written by Werner Almesberger is the
45.\" most commonly used.
46.\" It has the ability to boot various kernels, and
47.\" stores the configuration information in a plain text file.
48.\" (See
49.\" .BR lilo (8)
50.\" and
51.\" .BR lilo.conf (5).)
52.\" LILO can boot DOS, OS/2, Linux, FreeBSD, UnixWare, etc., and is quite flexible.
51700fd7 53.\"
18299dfc
MK
54.\" The other commonly used Linux loader is 'LoadLin', which is a DOS
55.\" program that has the capability to launch a Linux kernel from the DOS
56.\" prompt (with boot-args) assuming that certain resources are available.
57.\" This is good for people that want to launch Linux from DOS.
51700fd7 58.\"
18299dfc
MK
59.\" It is also very useful if you have certain hardware which relies on
60.\" the supplied DOS driver to put the hardware into a known state.
61.\" A common example is 'SoundBlaster Compatible' sound cards that require
62.\" the DOS driver to twiddle a few mystical registers to put the card
63.\" into a SB compatible mode.
64.\" Booting DOS with the supplied driver, and
65.\" then loading Linux from the DOS prompt with loadlin avoids the reset
66.\" of the card that happens if one rebooted instead.
73d8cece 67.SS The argument list
fea681da 68The kernel command line is parsed into a list of strings
c13182ef 69(boot arguments) separated by spaces.
36267a51 70Most of the boot arguments have the form:
77bda21c
MK
71
72.in +4n
73.nf
fea681da 74name[=value_1][,value_2]...[,value_10]
77bda21c
MK
75.fi
76.in
fea681da 77.LP
40dedbfe 78where 'name' is a unique keyword that is used to identify what part of
fea681da 79the kernel the associated values (if any) are to be given to.
33a0ccb2 80Note the limit of 10 is real, as the present code handles only 10 comma
c13182ef 81separated parameters per keyword.
3b777aff 82(However, you can reuse the same
fea681da
MK
83keyword with up to an additional 10 parameters in unusually
84complicated situations, assuming the setup function supports it.)
85
e57fca5a
MK
86Most of the sorting is coded in the kernel source file
87.IR init/main.c .
c13182ef 88First, the kernel
40dedbfe 89checks to see if the argument is any of the special arguments 'root=',
25715c96 90\&'nfsroot=', 'nfsaddrs=', 'ro', 'rw', 'debug' or 'init'.
c13182ef 91The meaning of these special arguments is described below.
fea681da 92
b46a2f4a
MK
93Then it walks a list of setup functions
94to see if the specified argument string (such as 'foo') has
40dedbfe 95been associated with a setup function ('foo_setup()') for a particular
c13182ef
MK
96device or part of the kernel.
97If you passed the kernel the line
fea681da 98foo=3,4,5,6 then the kernel would search the bootsetups array to see
40dedbfe 99if 'foo' was registered.
c13182ef 100If it was, then it would call the setup
40dedbfe 101function associated with 'foo' (foo_setup()) and hand it the arguments
31df5734 1023, 4, 5, and 6 as given on the kernel command line.
fea681da 103
40dedbfe 104Anything of the form 'foo=bar' that is not accepted as a setup function
fea681da 105as described above is then interpreted as an environment variable to
c13182ef 106be set.
40dedbfe 107A (useless?) example would be to use 'TERM=vt100' as a boot
fea681da
MK
108argument.
109
110Any remaining arguments that were not picked up by the kernel and were
f184a1c3
MK
111not interpreted as environment variables are then passed onto PID 1,
112which is usually the
1aedd258
MK
113.BR init (1)
114program.
c13182ef 115The most common argument that
1aedd258
MK
116is passed to the
117.I init
118process is the word 'single' which instructs it
fea681da 119to boot the computer in single user mode, and not launch all the usual
c13182ef 120daemons.
1aedd258
MK
121Check the manual page for the version of
122.BR init (1)
123installed on
fea681da 124your system to see what arguments it accepts.
76c637e1 125.SS General non-device-specific boot arguments
bebbbd1f 126.TP
40dedbfe 127.B "'init=...'"
fea681da
MK
128This sets the initial command to be executed by the kernel.
129If this is not set, or cannot be found, the kernel will try
5ce89119
MK
130.IR /sbin/init ,
131then
fea681da
MK
132.IR /etc/init ,
133then
134.IR /bin/init ,
135then
0daa9e92 136.I /bin/sh
fea681da 137and panic if all of this fails.
bebbbd1f 138.TP
40dedbfe 139.B "'nfsaddrs=...'"
32ae2e17 140This sets the NFS boot address to the given string.
fea681da 141This boot address is used in case of a net boot.
bebbbd1f 142.TP
40dedbfe 143.B "'nfsroot=...'"
5d6aa84a 144This sets the NFS root name to the given string.
c13182ef 145If this string
fea681da 146does not begin with '/' or ',' or a digit, then it is prefixed by
25715c96 147\&'/tftpboot/'.
c13182ef 148This root name is used in case of a net boot.
bebbbd1f 149.TP
40dedbfe
MK
150.B "'no387'"
151(Only when
152.B CONFIG_BUGi386
153is defined.)
fea681da 154Some i387 coprocessor chips have bugs that show up when used in 32 bit
c13182ef
MK
155protected mode.
156For example, some of the early ULSI-387 chips would
c45bd688 157cause solid lockups while performing floating-point calculations.
77bda21c 158Using the 'no387' boot argument causes Linux to ignore the maths
c13182ef
MK
159coprocessor even if you have one.
160Of course you must then have your
fea681da 161kernel compiled with math emulation support!
bebbbd1f 162.TP
40dedbfe
MK
163.B "'no-hlt'"
164(Only when
165.B CONFIG_BUGi386
166is defined.)
167Some of the early i486DX-100 chips have a problem with the 'hlt'
fea681da 168instruction, in that they can't reliably return to operating mode
c13182ef 169after this instruction is used.
40dedbfe 170Using the 'no-hlt' instruction tells
fea681da 171Linux to just run an infinite loop when there is nothing else to do,
c13182ef
MK
172and to not halt the CPU.
173This allows people with these broken chips
fea681da 174to use Linux.
bebbbd1f 175.TP
40dedbfe 176.B "'root=...'"
fea681da 177This argument tells the kernel what device is to be used as the root
9ee4a2b6 178filesystem while booting.
c13182ef 179The default of this setting is determined
fea681da 180at compile time, and usually is the value of the root device of the
c13182ef
MK
181system that the kernel was built on.
182To override this value, and
fea681da 183select the second floppy drive as the root device, one would
6387216b 184use 'root=/dev/fd1'.
fea681da
MK
185
186The root device can be specified symbolically or numerically.
e57fca5a 187A symbolic specification has the form
21e79503 188.IR /dev/XXYN ,
e57fca5a 189where XX designates
af26ce0f
MK
190the device type (e.g., 'hd' for ST-506 compatible hard disk, with Y in
191\&'a'-'d'; 'sd' for SCSI compatible disk, with Y in 'a'-'e'),
192Y the driver letter or
193number, and N the number (in decimal) of the partition on this device.
fea681da
MK
194
195Note that this has nothing to do with the designation of these
9ee4a2b6 196devices on your filesystem.
40dedbfe 197The '/dev/' part is purely conventional.
fea681da
MK
198
199The more awkward and less portable numeric specification of the above
c13182ef 200possible root devices in major/minor format is also accepted.
59dc509c 201(For example,
e57fca5a
MK
202.I /dev/sda3
203is major 8, minor 3, so you could use 'root=0x803' as an
fea681da 204alternative.)
bebbbd1f 205.TP
1c137827 206.BR "'rootdelay='"
91085d85 207This parameter sets the delay (in seconds) to pause before attempting
1c137827
PG
208to mount the root filesystem.
209.TP
210.BR "'rootflags=...'"
ffe8d0b1
MK
211This parameter sets the mount option string for the root filesystem
212(see also
1c137827
PG
213.BR fstab (5)).
214.TP
6c8adf48
JLDL
215.BR "'rootfstype=...'"
216The 'rootfstype' option tells the kernel to mount the root filesystem as
217if it where of the type specified.
218This can be useful (for example) to
219mount an ext3 filesystem as ext2 and then remove the journal in the root
220filesystem, in fact reverting its format from ext3 to ext2 without the
221need to boot the box from alternate media.
222.TP
40dedbfe 223.BR 'ro' " and " 'rw'
9ee4a2b6
MK
224The 'ro' option tells the kernel to mount the root filesystem
225as 'read-only' so that filesystem consistency check programs (fsck)
226can do their work on a quiescent filesystem.
c13182ef 227No processes can
9ee4a2b6 228write to files on the filesystem in question until it is 'remounted'
40dedbfe 229as read/write capable, for example, by 'mount \-w \-n \-o remount /'.
fea681da
MK
230(See also
231.BR mount (8).)
232
9ee4a2b6 233The 'rw' option tells the kernel to mount the root filesystem read/write.
fea681da
MK
234This is the default.
235
bebbbd1f 236.TP
d11f367d
AR
237.B "'resume=...'"
238This tells the kernel the location of the suspend-to-disk data that you want the machine to resume from after hibernation.
063692c0
MK
239Usually, it is the same as your swap partition or file.
240Example:
77bda21c
MK
241
242.in +4n
243.nf
244resume=/dev/hda2
245.fi
246.in
d11f367d 247.TP
40dedbfe 248.B "'reserve=...'"
c13182ef
MK
249This is used to protect I/O port regions from probes.
250The form of the command is:
77bda21c
MK
251
252.in +4n
253.nf
fea681da 254.BI reserve= iobase,extent[,iobase,extent]...
77bda21c
MK
255.fi
256.in
bebbbd1f 257.sp
fea681da 258In some machines it may be necessary to prevent device drivers from
c13182ef
MK
259checking for devices (auto-probing) in a specific region.
260This may be
fea681da
MK
261because of hardware that reacts badly to the probing, or hardware
262that would be mistakenly identified, or merely
263hardware you don't want the kernel to initialize.
264
265The reserve boot-time argument specifies an I/O port region that
c13182ef
MK
266shouldn't be probed.
267A device driver will not probe a reserved region,
fea681da
MK
268unless another boot argument explicitly specifies that it do so.
269
270For example, the boot line
77bda21c
MK
271
272.in +4n
273.nf
fea681da 274reserve=0x300,32 blah=0x300
77bda21c
MK
275.fi
276.in
bebbbd1f 277.IP
40dedbfe 278keeps all device drivers except the driver for 'blah' from probing
94e9d9fe 2790x300\-0x31f.
bebbbd1f 280.TP
40dedbfe 281.B "'panic=N'"
b9aee8fe 282By default, the kernel will not reboot after a panic, but this option
f7ceac86 283will cause a kernel reboot after N seconds (if N is greater than zero).
77bda21c
MK
284This panic timeout can also be set by
285
286.in +4n
287.nf
1322e836 288echo N > /proc/sys/kernel/panic
77bda21c
MK
289.fi
290.in
bebbbd1f 291.TP
40dedbfe 292.B "'reboot=[warm|cold][,[bios|hard]]'"
66d2031a 293Since Linux 2.0.22, a reboot is by default a cold reboot.
40dedbfe 294One asks for the old default with 'reboot=warm'.
fea681da
MK
295(A cold reboot may be required to reset certain hardware,
296but might destroy not yet written data in a disk cache.
297A warm reboot may be faster.)
b9aee8fe 298By default, a reboot is hard, by asking the keyboard controller
fea681da 299to pulse the reset line low, but there is at least one type
c13182ef 300of motherboard where that doesn't work.
40dedbfe 301The option 'reboot=bios' will
fea681da 302instead jump through the BIOS.
bebbbd1f 303.TP
40dedbfe 304.BR 'nosmp' " and " 'maxcpus=N'
fea681da 305(Only when __SMP__ is defined.)
40dedbfe
MK
306A command-line option of 'nosmp' or 'maxcpus=0' will disable SMP
307activation entirely; an option 'maxcpus=N' limits the maximum number
fea681da 308of CPUs activated in SMP mode to N.
73d8cece 309.SS Boot arguments for use by kernel developers
bebbbd1f 310.TP
40dedbfe 311.B "'debug'"
fea681da 312Kernel messages are handed off to the kernel log daemon klogd so that they
c13182ef
MK
313may be logged to disk.
314Messages with a priority above
fea681da 315.I console_loglevel
c13182ef 316are also printed on the console.
e57fca5a
MK
317(For these levels, see
318.IR <linux/kernel.h> .)
b9aee8fe 319By default, this variable is set to log anything more important than
c13182ef
MK
320debug messages.
321This boot argument will cause the kernel to also
fea681da
MK
322print the messages of DEBUG priority.
323The console loglevel can also be set at run time via an option
c13182ef
MK
324to klogd.
325See
fea681da 326.BR klogd (8).
bebbbd1f 327.TP
40dedbfe 328.B "'profile=N'"
fea681da
MK
329It is possible to enable a kernel profiling function,
330if one wishes to find out where the kernel is spending its CPU cycles.
331Profiling is enabled by setting the variable
332.I prof_shift
c7094399 333to a nonzero value.
40dedbfe
MK
334This is done either by specifying
335.B CONFIG_PROFILE
336at compile time, or by giving the 'profile=' option.
fea681da
MK
337Now the value that
338.I prof_shift
40dedbfe
MK
339gets will be N, when given, or
340.BR CONFIG_PROFILE_SHIFT ,
341when that is given, or 2, the default.
c13182ef 342The significance of this variable is that it
fea681da
MK
343gives the granularity of the profiling: each clock tick, if the
344system was executing kernel code, a counter is incremented:
77bda21c
MK
345
346.in +4n
347.nf
fea681da 348profile[address >> prof_shift]++;
77bda21c
MK
349.fi
350.in
bebbbd1f 351.sp
fea681da
MK
352The raw profiling information can be read from
353.IR /proc/profile .
354Probably you'll want to use a tool such as readprofile.c to digest it.
355Writing to
356.I /proc/profile
357will clear the counters.
bebbbd1f 358.TP
73d8cece 359.SS Boot arguments for ramdisk use
40dedbfe
MK
360(Only if the kernel was compiled with
361.BR CONFIG_BLK_DEV_RAM .)
5503c85e
MK
362In general it is a bad idea to use a ramdisk under Linux\(emthe
363system will use available memory more efficiently itself.
1aa04a53 364But while booting,
fea681da 365it is often useful to load the floppy contents into a
c13182ef
MK
366ramdisk.
367One might also have a system in which first
9ee4a2b6 368some modules (for filesystem or hardware) must be loaded
fea681da
MK
369before the main disk can be accessed.
370
371In Linux 1.3.48, ramdisk handling was changed drastically.
372Earlier, the memory was allocated statically, and there was
40dedbfe 373a 'ramdisk=N' parameter to tell its size.
421405f9 374(This could also be set in the kernel image at compile time.)
fea681da 375These days ram disks use the buffer cache, and grow dynamically.
1aa04a53 376For a lot of information on the current ramdisk
22367af2 377setup, see the kernel source file
51700fd7 378.IR Documentation/blockdev/ramdisk.txt
e57fca5a
MK
379.RI ( Documentation/ramdisk.txt
380in older kernels).
fea681da
MK
381
382There are four parameters, two boolean and two integral.
bebbbd1f 383.TP
40dedbfe 384.B "'load_ramdisk=N'"
c13182ef
MK
385If N=1, do load a ramdisk.
386If N=0, do not load a ramdisk.
fea681da 387(This is the default.)
bebbbd1f 388.TP
40dedbfe 389.B "'prompt_ramdisk=N'"
c13182ef
MK
390If N=1, do prompt for insertion of the floppy.
391(This is the default.)
392If N=0, do not prompt.
393(Thus, this parameter is never needed.)
bebbbd1f 394.TP
40dedbfe 395.BR 'ramdisk_size=N' " or (obsolete) " 'ramdisk=N'
c13182ef
MK
396Set the maximal size of the ramdisk(s) to N kB.
397The default is 4096 (4 MB).
bebbbd1f 398.TP
40dedbfe 399.B "'ramdisk_start=N'"
fea681da
MK
400Sets the starting block number (the offset on the floppy where
401the ramdisk starts) to N.
402This is needed in case the ramdisk follows a kernel image.
bebbbd1f 403.TP
40dedbfe
MK
404.B "'noinitrd'"
405(Only if the kernel was compiled with
406.B CONFIG_BLK_DEV_RAM
407and
408.BR CONFIG_BLK_DEV_INITRD .)
fea681da
MK
409These days it is possible to compile the kernel to use initrd.
410When this feature is enabled, the boot process will load the kernel
411and an initial ramdisk; then the kernel converts initrd into
412a "normal" ramdisk, which is mounted read-write as root device;
e57fca5a
MK
413then
414.I /linuxrc
9ee4a2b6
MK
415is executed; afterward the "real" root filesystem is mounted,
416and the initrd filesystem is moved over to
e57fca5a
MK
417.IR /initrd ;
418finally
419the usual boot sequence (e.g., invocation of
420.IR /sbin/init )
421is performed.
fea681da 422
e57fca5a
MK
423For a detailed description of the initrd feature, see the kernel source file
424.IR Documentation/initrd.txt .
fea681da 425
40dedbfe 426The 'noinitrd' option tells the kernel that although it was compiled for
fea681da
MK
427operation with initrd, it should not go through the above steps, but
428leave the initrd data under
429.IR /dev/initrd .
4d9b6984 430(This device can be used only once: the data is freed as soon as
fea681da
MK
431the last process that used it has closed
432.IR /dev/initrd .)
73d8cece 433.SS Boot arguments for SCSI devices
fea681da
MK
434General notation for this section:
435
436.I iobase
c13182ef
MK
437-- the first I/O port that the SCSI host occupies.
438These are specified in hexadecimal notation,
439and usually lie in the range from 0x200 to 0x3ff.
fea681da
MK
440
441.I irq
442-- the hardware interrupt that the card is configured to use.
443Valid values will be dependent on the card in question, but will
c13182ef
MK
444usually be 5, 7, 9, 10, 11, 12, and 15.
445The other values are usually
fea681da 446used for common peripherals like IDE hard disks, floppies, serial
fb3969cd 447ports, and so on.
fea681da
MK
448
449.I scsi-id
450-- the ID that the host adapter uses to identify itself on the
c13182ef
MK
451SCSI bus.
452Only some host adapters allow you to change this value, as
453most have it permanently specified internally.
454The usual default value
fea681da
MK
455is 7, but the Seagate and Future Domain TMC-950 boards use 6.
456
457.I parity
458-- whether the SCSI host adapter expects the attached devices
c13182ef
MK
459to supply a parity value with all information exchanges.
460Specifying a one indicates parity checking is enabled,
461and a zero disables parity checking.
462Again, not all adapters will support selection of parity
d9bfdb9c 463behavior as a boot argument.
bebbbd1f 464.TP
40dedbfe 465.B "'max_scsi_luns=...'"
310672d6 466A SCSI device can have a number of 'subdevices' contained within
c13182ef
MK
467itself.
468The most common example is one of the new SCSI CD-ROMs that
469handle more than one disk at a time.
470Each CD is addressed as a
25715c96 471\&'Logical Unit Number' (LUN) of that particular device.
c13182ef 472But most
fea681da
MK
473devices, such as hard disks, tape drives and such are only one device,
474and will be assigned to LUN zero.
475
476Some poorly designed SCSI devices cannot handle being probed for
c13182ef 477LUNs not equal to zero.
29aceda4 478Therefore, if the compile-time flag
40dedbfe 479.B CONFIG_SCSI_MULTI_LUN
e0a06014 480is not set, newer kernels will by default probe only LUN zero.
fea681da
MK
481
482To specify the number of probed LUNs at boot, one enters
25715c96 483\&'max_scsi_luns=n' as a boot arg, where n is a number between one and
c13182ef
MK
484eight.
485To avoid problems as described above, one would use n=1 to
fea681da 486avoid upsetting such broken devices.
bebbbd1f
MK
487.TP
488.B "SCSI tape configuration"
fea681da
MK
489Some boot time configuration of the SCSI tape driver can be achieved
490by using the following:
77bda21c
MK
491
492.in +4n
493.nf
fea681da 494.BI st= buf_size[,write_threshold[,max_bufs]]
77bda21c
MK
495.fi
496.in
bebbbd1f 497.sp
c13182ef
MK
498The first two numbers are specified in units of kB.
499The default
fea681da
MK
500.I buf_size
501is 32kB, and the maximum size that can be specified is a
c13182ef
MK
502ridiculous 16384kB.
503The
fea681da
MK
504.I write_threshold
505is the value at which the buffer is committed to tape, with a
c13182ef
MK
506default value of 30kB.
507The maximum number of buffers varies
fea681da
MK
508with the number of drives detected, and has a default of two.
509An example usage would be:
77bda21c
MK
510
511.in +4n
512.nf
fea681da 513st=32,30,2
77bda21c
MK
514.fi
515.in
bebbbd1f 516.IP
4568d084
MK
517Full details can be found in the file
518.I Documentation/scsi/st.txt
519(or
520.I drivers/scsi/README.st
66a9882e 521for older kernels) in the Linux kernel source.
73d8cece 522.SS Hard disks
bebbbd1f
MK
523.TP
524.B "IDE Disk/CD-ROM Driver Parameters"
fea681da 525The IDE driver accepts a number of parameters, which range from disk
c13182ef 526geometry specifications, to support for broken controller chips.
e2badfdf 527Drive-specific options are specified by using 'hdX=' with X in 'a'-'h'.
fea681da 528
e2badfdf
MK
529Non-drive-specific options are specified with the prefix 'hd='.
530Note that using a drive-specific prefix for a non-drive-specific option
fea681da
MK
531will still work, and the option will just be applied as expected.
532
40dedbfe 533Also note that 'hd=' can be used to refer to the next unspecified
c13182ef
MK
534drive in the (a, ..., h) sequence.
535For the following discussions,
40dedbfe 536the 'hd=' option will be cited for brevity.
c13182ef 537See the file
0eb9025a 538.I Documentation/ide/ide.txt
4568d084 539(or
0eb9025a
MK
540.I Documentation/ide.txt
541.\" Linux 2.0, 2.2, 2.4
542in older kernels, or
4568d084 543.I drivers/block/README.ide
0eb9025a 544in ancient kernels) in the Linux kernel source for more details.
bebbbd1f 545.TP
40dedbfe 546.B "The 'hd=cyls,heads,sects[,wpcom[,irq]]' options"
fea681da 547These options are used to specify the physical geometry of the disk.
c13182ef
MK
548Only the first three values are required.
549The cylinder/head/sectors
550values will be those used by fdisk.
551The write precompensation value
552is ignored for IDE disks.
553The IRQ value specified will be the IRQ
fea681da 554used for the interface that the drive resides on, and is not really a
e2badfdf 555drive-specific parameter.
bebbbd1f 556.TP
40dedbfe 557.B "The 'hd=serialize' option"
fea681da
MK
558The dual IDE interface CMD-640 chip is broken as designed such that
559when drives on the secondary interface are used at the same time as
c13182ef
MK
560drives on the primary interface, it will corrupt your data.
561Using this
fea681da
MK
562option tells the driver to make sure that both interfaces are never
563used at the same time.
bebbbd1f 564.TP
40dedbfe 565.B "The 'hd=noprobe' option"
c13182ef
MK
566Do not probe for this drive.
567For example,
77bda21c
MK
568
569.in +4n
570.nf
fea681da 571hdb=noprobe hdb=1166,7,17
77bda21c
MK
572.fi
573.in
bebbbd1f 574.IP
fea681da
MK
575would disable the probe, but still specify the drive geometry so
576that it would be registered as a valid block device, and hence
577usable.
bebbbd1f 578.TP
40dedbfe
MK
579.B "The 'hd=nowerr' option"
580Some drives apparently have the
581.B WRERR_STAT
582bit stuck on permanently.
fea681da 583This enables a work-around for these broken devices.
bebbbd1f 584.TP
40dedbfe 585.B "The 'hd=cdrom' option"
fea681da 586This tells the IDE driver that there is an ATAPI compatible CD-ROM
c13182ef
MK
587attached in place of a normal IDE hard disk.
588In most cases the CD-ROM
fea681da 589is identified automatically, but if it isn't then this may help.
bebbbd1f 590.TP
40dedbfe 591.B "Standard ST-506 Disk Driver Options ('hd=')"
fea681da 592The standard disk driver can accept geometry arguments for the disks
c13182ef 593similar to the IDE driver.
33a0ccb2 594Note however that it expects only three
c13182ef 595values (C/H/S); any more or any less and it will silently ignore you.
33a0ccb2 596Also, it accepts only 'hd=' as an argument, that is, 'hda='
c13182ef
MK
597and so on are not valid here.
598The format is as follows:
77bda21c
MK
599
600.in +4n
601.nf
fea681da 602hd=cyls,heads,sects
77bda21c
MK
603.fi
604.in
bebbbd1f 605.IP
fea681da
MK
606If there are two disks installed, the above is repeated with the
607geometry parameters of the second disk.
73d8cece 608.SS Ethernet devices
fea681da 609Different drivers make use of different parameters, but they all at
c13182ef
MK
610least share having an IRQ, an I/O port base value, and a name.
611In its most generic form, it looks something like this:
77bda21c
MK
612
613.in +4n
614.nf
fea681da 615ether=irq,iobase[,param_1[,...param_8]],name
77bda21c
MK
616.fi
617.in
618
80c9146c 619The first nonnumeric argument is taken as the name.
c13182ef
MK
620The param_n values (if applicable) usually have different meanings for each
621different card/driver.
622Typical param_n values are used to specify
fea681da
MK
623things like shared memory address, interface selection, DMA channel
624and the like.
625
626The most common use of this parameter is to force probing for a second
33a0ccb2 627ethercard, as the default is to probe only for one.
c13182ef 628This can be accomplished with a simple:
77bda21c
MK
629
630.in +4n
631.nf
fea681da 632ether=0,0,eth1
77bda21c
MK
633.fi
634.in
635
fea681da
MK
636Note that the values of zero for the IRQ and I/O base in the above
637example tell the driver(s) to autoprobe.
638
639The Ethernet-HowTo has extensive documentation on using multiple
e2badfdf 640cards and on the card/driver-specific implementation
c13182ef
MK
641of the param_n values where used.
642Interested readers should refer to
fea681da 643the section in that document on their particular card.
73d8cece 644.SS The floppy disk driver
fea681da 645There are many floppy driver options, and they are all listed in
cb6cb860 646.I Documentation/blockdev/floppy.txt
4568d084 647(or
cb6cb860
MK
648.I Documentation/floppy.txt
649in oplder kernels, or
4568d084 650.I drivers/block/README.fd
cb6cb860 651for ancient kernels) in the Linux kernel source.
3dd80946 652See that file for the details.
73d8cece 653.SS The sound driver
92b451e5 654The sound driver can also accept boot arguments to override the compiled-in
c13182ef
MK
655values.
656This is not recommended, as it is rather complex.
66a9882e 657It is described in the Linux kernel source file
ef505ff0
MK
658.IR Documentation/sound/oss/README.OSS
659.RI ( drivers/sound/Readme.linux
660in older kernel versions).
c13182ef 661It accepts
77bda21c
MK
662a boot argument of the form:
663
664.in +4n
665.nf
fea681da 666sound=device1[,device2[,device3...[,device10]]]
77bda21c
MK
667.fi
668.in
bebbbd1f 669.IP
fea681da
MK
670where each deviceN value is of the following format 0xTaaaId and the
671bytes are used as follows:
672
4d9b6984 673T \- device type: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16,
fea681da
MK
6747=SB16-MPU401
675
4d9b6984 676aaa \- I/O address in hex.
fea681da 677
4d9b6984 678I \- interrupt line in hex (i.e 10=a, 11=b, ...)
fea681da 679
4d9b6984 680d \- DMA channel.
fea681da 681
92b451e5 682As you can see, it gets pretty messy, and you are better off to compile
c13182ef 683in your own personal values as recommended.
77bda21c 684Using a boot argument of
25715c96 685\&'sound=0' will disable the sound driver entirely.
73d8cece 686.SS The line printer driver
bebbbd1f 687.TP
40dedbfe 688.B "'lp='"
77bda21c 689.br
fea681da 690Syntax:
77bda21c
MK
691
692.in +4n
693.nf
fea681da 694lp=0
fea681da 695lp=auto
fea681da 696lp=reset
fea681da 697lp=port[,port...]
77bda21c
MK
698.fi
699.in
bebbbd1f 700.IP
fea681da 701You can tell the printer driver what ports to use and what ports not
c13182ef
MK
702to use.
703The latter comes in handy if you don't want the printer driver
fea681da 704to claim all available parallel ports, so that other drivers
75b94dc3 705(e.g., PLIP, PPA) can use them instead.
fea681da 706
c13182ef
MK
707The format of the argument is multiple port names.
708For example,
fea681da 709lp=none,parport0 would use the first parallel port for lp1, and
c13182ef
MK
710disable lp0.
711To disable the printer driver entirely, one can use
fea681da 712lp=0.
fd7f0a7f
MK
713.\" .SH AUTHORS
714.\" Linus Torvalds (and many others)
47297adb 715.SH SEE ALSO
fea681da 716.BR klogd (8),
421405f9 717.BR mount (8)
fea681da
MK
718
719Large parts of this man page have been derived from the
720Boot Parameter HOWTO (version 1.0.1) written by Paul Gortmaker.
721More information may be found in this (or a more recent) HOWTO.
e57fca5a
MK
722An up-to-date source of information is the kernel source file
723.IR Documentation/kernel-parameters.txt .