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