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