]> git.ipfire.org Git - thirdparty/man-pages.git/blame - man7/bootparam.7
prctl.2: Clarify the unsupported hardware case of EINVAL
[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.\"
4b8c67d9 28.TH BOOTPARAM 7 2017-09-15 "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 380For a detailed description of the initrd feature, see the kernel source file
96c11b3f
ES
381.I Documentation/admin\-guide/initrd.rst
382.\" commit 9d85025b0418163fae079c9ba8f8445212de8568
383(or
384.I Documentation/initrd.txt
385before Linux 4.10).
bdd915e2 386.IP
40dedbfe 387The 'noinitrd' option tells the kernel that although it was compiled for
fea681da
MK
388operation with initrd, it should not go through the above steps, but
389leave the initrd data under
390.IR /dev/initrd .
4d9b6984 391(This device can be used only once: the data is freed as soon as
fea681da
MK
392the last process that used it has closed
393.IR /dev/initrd .)
73d8cece 394.SS Boot arguments for SCSI devices
fea681da 395General notation for this section:
bdd915e2 396.PP
fea681da 397.I iobase
c13182ef
MK
398-- the first I/O port that the SCSI host occupies.
399These are specified in hexadecimal notation,
400and usually lie in the range from 0x200 to 0x3ff.
bdd915e2 401.PP
fea681da
MK
402.I irq
403-- the hardware interrupt that the card is configured to use.
404Valid values will be dependent on the card in question, but will
c13182ef
MK
405usually be 5, 7, 9, 10, 11, 12, and 15.
406The other values are usually
fea681da 407used for common peripherals like IDE hard disks, floppies, serial
fb3969cd 408ports, and so on.
bdd915e2 409.PP
fea681da
MK
410.I scsi-id
411-- the ID that the host adapter uses to identify itself on the
c13182ef
MK
412SCSI bus.
413Only some host adapters allow you to change this value, as
414most have it permanently specified internally.
415The usual default value
fea681da 416is 7, but the Seagate and Future Domain TMC-950 boards use 6.
bdd915e2 417.PP
fea681da
MK
418.I parity
419-- whether the SCSI host adapter expects the attached devices
c13182ef
MK
420to supply a parity value with all information exchanges.
421Specifying a one indicates parity checking is enabled,
422and a zero disables parity checking.
423Again, not all adapters will support selection of parity
d9bfdb9c 424behavior as a boot argument.
bebbbd1f 425.TP
40dedbfe 426.B "'max_scsi_luns=...'"
310672d6 427A SCSI device can have a number of 'subdevices' contained within
c13182ef
MK
428itself.
429The most common example is one of the new SCSI CD-ROMs that
430handle more than one disk at a time.
431Each CD is addressed as a
25715c96 432\&'Logical Unit Number' (LUN) of that particular device.
c13182ef 433But most
fea681da
MK
434devices, such as hard disks, tape drives and such are only one device,
435and will be assigned to LUN zero.
bdd915e2 436.IP
fea681da 437Some poorly designed SCSI devices cannot handle being probed for
c13182ef 438LUNs not equal to zero.
29aceda4 439Therefore, if the compile-time flag
40dedbfe 440.B CONFIG_SCSI_MULTI_LUN
e0a06014 441is not set, newer kernels will by default probe only LUN zero.
bdd915e2 442.IP
fea681da 443To specify the number of probed LUNs at boot, one enters
25715c96 444\&'max_scsi_luns=n' as a boot arg, where n is a number between one and
c13182ef
MK
445eight.
446To avoid problems as described above, one would use n=1 to
fea681da 447avoid upsetting such broken devices.
bebbbd1f
MK
448.TP
449.B "SCSI tape configuration"
fea681da
MK
450Some boot time configuration of the SCSI tape driver can be achieved
451by using the following:
bdd915e2 452.IP
77bda21c 453.in +4n
bdd915e2 454.EX
fea681da 455.BI st= buf_size[,write_threshold[,max_bufs]]
bdd915e2 456.EE
77bda21c 457.in
bdd915e2 458.IP
c13182ef
MK
459The first two numbers are specified in units of kB.
460The default
fea681da 461.I buf_size
ee8655b5
MK
462is 32k\ B, and the maximum size that can be specified is a
463ridiculous 16384\ kB.
c13182ef 464The
fea681da
MK
465.I write_threshold
466is the value at which the buffer is committed to tape, with a
ee8655b5 467default value of 30\ kB.
c13182ef 468The maximum number of buffers varies
fea681da
MK
469with the number of drives detected, and has a default of two.
470An example usage would be:
bdd915e2 471.IP
77bda21c 472.in +4n
bdd915e2 473.EX
fea681da 474st=32,30,2
bdd915e2 475.EE
77bda21c 476.in
bebbbd1f 477.IP
4568d084
MK
478Full details can be found in the file
479.I Documentation/scsi/st.txt
480(or
481.I drivers/scsi/README.st
66a9882e 482for older kernels) in the Linux kernel source.
73d8cece 483.SS Hard disks
bebbbd1f
MK
484.TP
485.B "IDE Disk/CD-ROM Driver Parameters"
fea681da 486The IDE driver accepts a number of parameters, which range from disk
c13182ef 487geometry specifications, to support for broken controller chips.
e2badfdf 488Drive-specific options are specified by using 'hdX=' with X in 'a'-'h'.
bdd915e2 489.IP
e2badfdf
MK
490Non-drive-specific options are specified with the prefix 'hd='.
491Note that using a drive-specific prefix for a non-drive-specific option
fea681da 492will still work, and the option will just be applied as expected.
bdd915e2 493.IP
40dedbfe 494Also note that 'hd=' can be used to refer to the next unspecified
c13182ef
MK
495drive in the (a, ..., h) sequence.
496For the following discussions,
40dedbfe 497the 'hd=' option will be cited for brevity.
c13182ef 498See the file
0eb9025a 499.I Documentation/ide/ide.txt
4568d084 500(or
0eb9025a
MK
501.I Documentation/ide.txt
502.\" Linux 2.0, 2.2, 2.4
503in older kernels, or
4568d084 504.I drivers/block/README.ide
0eb9025a 505in ancient kernels) in the Linux kernel source for more details.
bebbbd1f 506.TP
40dedbfe 507.B "The 'hd=cyls,heads,sects[,wpcom[,irq]]' options"
fea681da 508These options are used to specify the physical geometry of the disk.
c13182ef
MK
509Only the first three values are required.
510The cylinder/head/sectors
511values will be those used by fdisk.
512The write precompensation value
513is ignored for IDE disks.
514The IRQ value specified will be the IRQ
fea681da 515used for the interface that the drive resides on, and is not really a
e2badfdf 516drive-specific parameter.
bebbbd1f 517.TP
40dedbfe 518.B "The 'hd=serialize' option"
fea681da
MK
519The dual IDE interface CMD-640 chip is broken as designed such that
520when drives on the secondary interface are used at the same time as
c13182ef
MK
521drives on the primary interface, it will corrupt your data.
522Using this
fea681da
MK
523option tells the driver to make sure that both interfaces are never
524used at the same time.
bebbbd1f 525.TP
40dedbfe 526.B "The 'hd=noprobe' option"
c13182ef
MK
527Do not probe for this drive.
528For example,
bdd915e2 529.IP
77bda21c 530.in +4n
bdd915e2 531.EX
fea681da 532hdb=noprobe hdb=1166,7,17
bdd915e2 533.EE
77bda21c 534.in
bebbbd1f 535.IP
fea681da
MK
536would disable the probe, but still specify the drive geometry so
537that it would be registered as a valid block device, and hence
538usable.
bebbbd1f 539.TP
40dedbfe
MK
540.B "The 'hd=nowerr' option"
541Some drives apparently have the
542.B WRERR_STAT
543bit stuck on permanently.
fea681da 544This enables a work-around for these broken devices.
bebbbd1f 545.TP
40dedbfe 546.B "The 'hd=cdrom' option"
fea681da 547This tells the IDE driver that there is an ATAPI compatible CD-ROM
c13182ef
MK
548attached in place of a normal IDE hard disk.
549In most cases the CD-ROM
fea681da 550is identified automatically, but if it isn't then this may help.
bebbbd1f 551.TP
40dedbfe 552.B "Standard ST-506 Disk Driver Options ('hd=')"
fea681da 553The standard disk driver can accept geometry arguments for the disks
c13182ef 554similar to the IDE driver.
33a0ccb2 555Note however that it expects only three
c13182ef 556values (C/H/S); any more or any less and it will silently ignore you.
33a0ccb2 557Also, it accepts only 'hd=' as an argument, that is, 'hda='
c13182ef
MK
558and so on are not valid here.
559The format is as follows:
bdd915e2 560.IP
77bda21c 561.in +4n
bdd915e2 562.EX
fea681da 563hd=cyls,heads,sects
bdd915e2 564.EE
77bda21c 565.in
bebbbd1f 566.IP
fea681da
MK
567If there are two disks installed, the above is repeated with the
568geometry parameters of the second disk.
73d8cece 569.SS Ethernet devices
fea681da 570Different drivers make use of different parameters, but they all at
c13182ef
MK
571least share having an IRQ, an I/O port base value, and a name.
572In its most generic form, it looks something like this:
bdd915e2 573.PP
77bda21c 574.in +4n
bdd915e2 575.EX
fea681da 576ether=irq,iobase[,param_1[,...param_8]],name
bdd915e2 577.EE
77bda21c 578.in
bdd915e2 579.PP
80c9146c 580The first nonnumeric argument is taken as the name.
c13182ef
MK
581The param_n values (if applicable) usually have different meanings for each
582different card/driver.
583Typical param_n values are used to specify
fea681da
MK
584things like shared memory address, interface selection, DMA channel
585and the like.
bdd915e2 586.PP
fea681da 587The most common use of this parameter is to force probing for a second
33a0ccb2 588ethercard, as the default is to probe only for one.
c13182ef 589This can be accomplished with a simple:
bdd915e2 590.PP
77bda21c 591.in +4n
bdd915e2 592.EX
fea681da 593ether=0,0,eth1
bdd915e2 594.EE
77bda21c 595.in
bdd915e2 596.PP
fea681da
MK
597Note that the values of zero for the IRQ and I/O base in the above
598example tell the driver(s) to autoprobe.
bdd915e2 599.PP
fea681da 600The Ethernet-HowTo has extensive documentation on using multiple
e2badfdf 601cards and on the card/driver-specific implementation
c13182ef
MK
602of the param_n values where used.
603Interested readers should refer to
fea681da 604the section in that document on their particular card.
73d8cece 605.SS The floppy disk driver
fea681da 606There are many floppy driver options, and they are all listed in
cb6cb860 607.I Documentation/blockdev/floppy.txt
4568d084 608(or
cb6cb860 609.I Documentation/floppy.txt
dada4047 610in older kernels, or
4568d084 611.I drivers/block/README.fd
cb6cb860 612for ancient kernels) in the Linux kernel source.
3dd80946 613See that file for the details.
73d8cece 614.SS The sound driver
92b451e5 615The sound driver can also accept boot arguments to override the compiled-in
c13182ef
MK
616values.
617This is not recommended, as it is rather complex.
66a9882e 618It is described in the Linux kernel source file
ef505ff0
MK
619.IR Documentation/sound/oss/README.OSS
620.RI ( drivers/sound/Readme.linux
621in older kernel versions).
c13182ef 622It accepts
77bda21c 623a boot argument of the form:
bdd915e2 624.PP
77bda21c 625.in +4n
bdd915e2 626.EX
fea681da 627sound=device1[,device2[,device3...[,device10]]]
bdd915e2 628.EE
77bda21c 629.in
bdd915e2 630.PP
fea681da
MK
631where each deviceN value is of the following format 0xTaaaId and the
632bytes are used as follows:
bdd915e2 633.PP
4d9b6984 634T \- device type: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16,
fea681da 6357=SB16-MPU401
bdd915e2 636.PP
4d9b6984 637aaa \- I/O address in hex.
bdd915e2 638.PP
658a3012 639I \- interrupt line in hex (i.e., 10=a, 11=b, ...)
bdd915e2 640.PP
4d9b6984 641d \- DMA channel.
bdd915e2 642.PP
92b451e5 643As you can see, it gets pretty messy, and you are better off to compile
c13182ef 644in your own personal values as recommended.
77bda21c 645Using a boot argument of
25715c96 646\&'sound=0' will disable the sound driver entirely.
73d8cece 647.SS The line printer driver
bebbbd1f 648.TP
40dedbfe 649.B "'lp='"
77bda21c 650.br
fea681da 651Syntax:
bdd915e2 652.IP
77bda21c 653.in +4n
bdd915e2 654.EX
fea681da 655lp=0
fea681da 656lp=auto
fea681da 657lp=reset
fea681da 658lp=port[,port...]
bdd915e2 659.EE
77bda21c 660.in
bebbbd1f 661.IP
fea681da 662You can tell the printer driver what ports to use and what ports not
c13182ef
MK
663to use.
664The latter comes in handy if you don't want the printer driver
fea681da 665to claim all available parallel ports, so that other drivers
75b94dc3 666(e.g., PLIP, PPA) can use them instead.
bdd915e2 667.IP
c13182ef
MK
668The format of the argument is multiple port names.
669For example,
fea681da 670lp=none,parport0 would use the first parallel port for lp1, and
c13182ef
MK
671disable lp0.
672To disable the printer driver entirely, one can use
fea681da 673lp=0.
fd7f0a7f
MK
674.\" .SH AUTHORS
675.\" Linus Torvalds (and many others)
47297adb 676.SH SEE ALSO
fea681da 677.BR klogd (8),
421405f9 678.BR mount (8)
bdd915e2 679.PP
c7c19fcd 680For up-to-date information, see the kernel source file
fedefd80 681.IR Documentation/admin-guide/kernel-parameters.txt .