bootparam.7: Various formatting and wording fixes

In part suggested by Eric Raymond

Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Michael Kerrisk 2013-06-12 14:17:51 +02:00
parent 5a4d28e5d2
commit 77bda21c71
1 changed files with 348 additions and 84 deletions

View File

@ -70,9 +70,13 @@ use boot loader software that is able to pass parameters, such as GRUB.
.SS The argument list
The kernel command line is parsed into a list of strings
(boot arguments) separated by spaces.
Most of the boot args take the form of:
.IP
Most of the boot arguments take have the form:
.in +4n
.nf
name[=value_1][,value_2]...[,value_10]
.fi
.in
.LP
where 'name' is a unique keyword that is used to identify what part of
the kernel the associated values (if any) are to be given to.
@ -154,7 +158,7 @@ Some i387 coprocessor chips have bugs that show up when used in 32 bit
protected mode.
For example, some of the early ULSI-387 chips would
cause solid lockups while performing floating-point calculations.
Using the 'no387' boot arg causes Linux to ignore the maths
Using the 'no387' boot argument causes Linux to ignore the maths
coprocessor even if you have one.
Of course you must then have your
kernel compiled with math emulation support!
@ -236,14 +240,22 @@ This is the default.
.B "'resume=...'"
This tells the kernel the location of the suspend-to-disk data that you want the machine to resume from after hibernation.
Usually, it is the same as your swap partition or file. Example:
.IP
.BI resume= /dev/hda2
.in +4n
.nf
resume=/dev/hda2
.fi
.in
.TP
.B "'reserve=...'"
This is used to protect I/O port regions from probes.
The form of the command is:
.IP
.in +4n
.nf
.BI reserve= iobase,extent[,iobase,extent]...
.fi
.in
.sp
In some machines it may be necessary to prevent device drivers from
checking for devices (auto-probing) in a specific region.
@ -258,8 +270,12 @@ A device driver will not probe a reserved region,
unless another boot argument explicitly specifies that it do so.
For example, the boot line
.IP
.in +4n
.nf
reserve=0x300,32 blah=0x300
.fi
.in
.IP
keeps all device drivers except the driver for 'blah' from probing
0x300\-0x31f.
@ -271,7 +287,7 @@ to report up to 64MB.
Linux uses this BIOS call at boot to
determine how much memory is installed.
If you have more than 64MB of
RAM installed, you can use this boot arg to tell Linux how much memory
RAM installed, you can use this boot argument to tell Linux how much memory
you have.
The value is in decimal or hexadecimal (prefix 0x),
and the suffixes 'k' (times 1024) or 'M' (times 1048576) can be used.
@ -304,7 +320,13 @@ CPU.
.B "'panic=N'"
By default the kernel will not reboot after a panic, but this option
will cause a kernel reboot after N seconds (if N is greater than zero).
This panic timeout can also be set by "echo N > /proc/sys/kernel/panic".
This panic timeout can also be set by
.in +4n
.nf
echo N > /proc/sys/kernel/panic".
.fi
.in
.TP
.B "'reboot=[warm|cold][,[bios|hard]]'"
(Only when
@ -362,8 +384,12 @@ when that is given, or 2, the default.
The significance of this variable is that it
gives the granularity of the profiling: each clock tick, if the
system was executing kernel code, a counter is incremented:
.IP
.in +4n
.nf
profile[address >> prof_shift]++;
.fi
.in
.sp
The raw profiling information can be read from
.IR /proc/profile .
@ -515,8 +541,12 @@ avoid upsetting such broken devices.
.B "SCSI tape configuration"
Some boot time configuration of the SCSI tape driver can be achieved
by using the following:
.IP
.in +4n
.nf
.BI st= buf_size[,write_threshold[,max_bufs]]
.fi
.in
.sp
The first two numbers are specified in units of kB.
The default
@ -530,8 +560,12 @@ default value of 30kB.
The maximum number of buffers varies
with the number of drives detected, and has a default of two.
An example usage would be:
.IP
.in +4n
.nf
st=32,30,2
.fi
.in
.IP
Full details can be found in the file
.I Documentation/scsi/st.txt
@ -546,9 +580,13 @@ SCSI chip on these type of cards, including the Soundblaster-16 SCSI.
The probe code for these SCSI hosts looks for an installed BIOS, and
if none is present, the probe will not find your card.
Then you will
have to use a boot arg of the form:
.IP
have to use a boot argument of the form:
.in +4n
.nf
.BI aha152x= iobase[,irq[,scsi-id[,reconnect[,parity]]]]
.fi
.in
.IP
If the driver was compiled with debugging enabled, a sixth
value can be specified to set the debug level.
@ -558,8 +596,12 @@ All the parameters are as described at the top of this section, and the
value will allow device disconnect/reconnect if a nonzero value
is used.
An example usage is as follows:
.IP
.in +4n
.nf
aha152x=0x340,11,7,1
.fi
.in
.IP
Note that the parameters must be specified in order, meaning that if
you want to specify a parity setting, then you will have to specify an
@ -571,9 +613,13 @@ while the aha1540 series cards do not.
These are busmastering cards,
and have parameters to set the "fairness" that is used to share
the bus with other devices.
The boot arg looks like the following.
.IP
The boot argument looks like the following.
.in +4n
.nf
.BI aha1542= iobase[,buson,busoff[,dmaspeed]]
.fi
.in
.IP
Valid iobase values are usually one of: 0x130, 0x134, 0x230, 0x234,
0x330, 0x334.
@ -600,8 +646,12 @@ Experiment with caution if using values over 5MB/s.
.TP
.B "Adaptec aha274x, aha284x, aic7xxx configuration"
These boards can accept an argument of the form:
.IP
.in +4n
.nf
.BI aic7xxx= extended,no_reset
.fi
.in
.IP
The
.I extended
@ -626,12 +676,22 @@ The 0-f allows setting the
level of the debugging messages to any of 16 levels of verbosity.
.TP
.B "AM53C974"
.IP
Syntax:
.in +4n
.nf
.BI AM53C974= host-scsi-id,target-scsi-id,max-rate,max-offset
.fi
.in
.TP
.B "BusLogic SCSI Hosts configuration ('BusLogic=')"
.IP
Syntax:
.in +4n
.nf
.BI BusLogic= N1,N2,N3,N4,N5,S1,S2,...
.fi
.in
.IP
For an extensive discussion of the BusLogic command line parameters,
see the kernel source file
@ -660,20 +720,39 @@ ER:None, ER:<Per-Target-Spec>), and over Host Adapter Probing
.TP
.B "EATA/DMA configuration"
The default list of I/O ports to be probed can be changed by
.IP
.in +4n
.nf
.BI eata= iobase,iobase,... .
.fi
.in
.TP
.B "Future Domain TMC-16x0 configuration"
.IP
Syntax:
.in +4n
.nf
.BI fdomain= iobase,irq[,adapter_id]
.fi
.in
.TP
.B "Great Valley Products (GVP) SCSI controller configuration"
.IP
Syntax:
.in +4n
.nf
.BI gvp11= dma_transfer_bitmask
.fi
.in
.TP
.B "Future Domain TMC-8xx, TMC-950 configuration"
.IP
Syntax:
.in +4n
.nf
.BI tmc8xx= mem_base,irq
.fi
.in
.IP
The
.I mem_base
@ -683,8 +762,13 @@ This will usually be one of the following values:
0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000.
.TP
.B "IN2000 configuration"
.IP
Syntax:
.in +4n
.nf
.BI in2000= S
.fi
.in
.IP
where S is a comma-separated string of items keyword[:value].
Recognized keywords (possibly with value) are:
@ -694,13 +778,21 @@ For the function of these parameters, see the kernel source file
.IR drivers/scsi/in2000.c .
.TP
.B "NCR5380 and NCR53C400 configuration"
The boot arg is of the form
.IP
The boot argument is of the form
.in +4n
.nf
.BI ncr5380= iobase,irq,dma
.fi
.in
.IP
or
.IP
.in +4n
.nf
.BI ncr53c400= iobase,irq
.fi
.in
.IP
If the card doesn't use interrupts, then an IRQ value of 255 (0xff) will
disable interrupts.
@ -712,8 +804,13 @@ More details can be found in the file
for older kernels) in the Linux kernel source.
.TP
.B "NCR53C8xx configuration"
.IP
Syntax:
.in +4n
.nf
.BI ncr53c8xx= S
.fi
.in
.IP
where S is a comma-separated string of items keyword:value.
Recognized keywords are: mpar (master_parity), spar (scsi_parity),
@ -724,8 +821,13 @@ For the function of the assigned values, see the kernel source file
.IR drivers/scsi/ncr53c8xx.c .
.TP
.B "NCR53c406a configuration"
.IP
Syntax:
.in +4n
.nf
.BI ncr53c406a= iobase[,irq[,fastpio]]
.fi
.in
.IP
Specify irq = 0 for noninterrupt driven mode.
Set fastpio = 1 for fast pio mode, 0 for slow mode.
@ -733,9 +835,13 @@ Set fastpio = 1 for fast pio mode, 0 for slow mode.
.B "Pro Audio Spectrum configuration"
The PAS16 uses a NC5380 SCSI chip, and newer models support
jumperless configuration.
The boot arg is of the form:
.IP
The boot argument is of the form:
.in +4n
.nf
.BI pas16= iobase,irq
.fi
.in
.IP
The only difference is that you can specify an IRQ value of 255, which
will tell the driver to work without using interrupts, albeit at a
@ -744,9 +850,13 @@ The iobase is usually 0x388.
.TP
.B "Seagate ST-0x configuration"
If your card is not detected at boot time,
you will then have to use a boot arg of the form:
.IP
you will then have to use a boot argument of the form:
.in +4n
.nf
.BI st0x= mem_base,irq
.fi
.in
.IP
The
.I mem_base
@ -758,8 +868,12 @@ This will usually be one of the following values:
.B "Trantor T128 configuration"
These cards are also based on the NCR5380 chip, and accept the
following options:
.IP
.in +4n
.nf
.BI t128= mem_base,irq
.fi
.in
.IP
The valid values for
.I mem_base
@ -767,16 +881,30 @@ are as follows: 0xcc000, 0xc8000, 0xdc000, 0xd8000.
.TP
.B "UltraStor 14F/34F configuration"
The default list of I/O ports to be probed can be changed by
.IP
.in +4n
.nf
.BI eata= iobase,iobase,... .
.fi
.in
.TP
.B "WD7000 configuration"
.IP
Syntax:
.in +4n
.nf
.BI wd7000= irq,dma,iobase
.fi
.in
.TP
.B "Commodore Amiga A2091/590 SCSI controller configuration"
.IP
Syntax:
.in +4n
.nf
.BI wd33c93= S
.fi
.in
.IP
where S is a comma-separated string of options.
Recognized options are
@ -832,8 +960,12 @@ second interface and to enable faster transfer modes.
.B "The 'hd=noprobe' option"
Do not probe for this drive.
For example,
.IP
.in +4n
.nf
hdb=noprobe hdb=1166,7,17
.fi
.in
.IP
would disable the probe, but still specify the drive geometry so
that it would be registered as a valid block device, and hence
@ -859,8 +991,12 @@ values (C/H/S); any more or any less and it will silently ignore you.
Also, it accepts only 'hd=' as an argument, that is, 'hda='
and so on are not valid here.
The format is as follows:
.IP
.in +4n
.nf
hd=cyls,heads,sects
.fi
.in
.IP
If there are two disks installed, the above is repeated with the
geometry parameters of the second disk.
@ -868,9 +1004,14 @@ geometry parameters of the second disk.
.B "XT Disk Driver Options ('xd=')"
If you are unfortunate enough to be using one of these old 8 bit cards
that move data at a whopping 125kB/s then here is the scoop.
If the card is not recognized, you will have to use a boot arg of the form:
.IP
If the card is not recognized,
you will have to use a boot argument of the form:
.in +4n
.nf
xd=type,irq,iobase,dma_chan
.fi
.in
.IP
The type value specifies the particular manufacturer of the card,
overriding autodetection.
@ -894,28 +1035,50 @@ Don't disappoint it.
Here is an
example usage for a WD1002 controller with the BIOS disabled/removed,
using the 'default' XT controller parameters:
.IP
.in +4n
.nf
xd=2,5,0x320,3
.fi
.in
.TP
.B "Syquest's EZ* removable disks"
.IP
Syntax:
.in +4n
.nf
.BI ez= iobase[,irq[,rep[,nybble]]]
.fi
.in
.SS IBM MCA bus devices
See also the kernel source file
.IR Documentation/mca.txt .
.TP
.B "PS/2 ESDI hard disks"
It is possible to specify the desired geometry at boot time:
.IP
.in +4n
.nf
.BI ed= cyls,heads,sectors.
.fi
.in
.IP
For a ThinkPad-720, add the option
.IP
.in +4n
.nf
.BR tp720=1 .
.fi
.in
.TP
.B "IBM Microchannel SCSI Subsystem configuration"
.IP
Syntax:
.in +4n
.nf
.BI ibmmcascsi= N
.fi
.in
.IP
where N is the
.I pun
@ -923,8 +1086,12 @@ where N is the
.TP
.B "The Aztech Interface"
The syntax for this type of card is:
.IP
.in +4n
.nf
aztcd=iobase[,magic_number]
.fi
.in
.IP
If you set the magic_number to 0x79 then the driver will try and run
anyway in the event of an unknown firmware version.
@ -933,10 +1100,13 @@ are ignored.
.TP
.B "Parallel port CD-ROM drives"
Syntax:
.IP
.in +4n
.nf
pcd.driveN=prt,pro,uni,mod,slv,dly
.br
pcd.nice=nice
.fi
.in
.IP
where 'port' is the base address, 'pro' is the protocol number, 'uni'
is the unit selector (for chained devices), 'mod' is the mode (or \-1
@ -949,8 +1119,12 @@ expense of some speed.
This CD-ROM interface is found on some of the Pro Audio Spectrum sound
cards, and other Sony supplied interface cards.
The syntax is as follows:
.IP
.in +4n
.nf
cdu31a=iobase,[irq[,is_pas_card]]
.fi
.in
.IP
Specifying an IRQ value of zero tells the driver that hardware
interrupts aren't supported (as on some PAS cards).
@ -965,23 +1139,35 @@ and otherwise it should not be specified at all.
.TP
.B "The CDU-535 Sony Interface"
The syntax for this CD-ROM interface is:
.IP
.in +4n
.nf
sonycd535=iobase[,irq]
.fi
.in
.IP
A zero can be used for the I/O base as a 'placeholder' if one wishes
to specify an IRQ value.
.TP
.B "The GoldStar Interface"
The syntax for this CD-ROM interface is:
.IP
.in +4n
.nf
gscd=iobase
.fi
.in
.TP
.B "The ISP16 CD-ROM Interface"
Syntax:
.IP
.in +4n
.nf
isp16=[iobase[,irq[,dma[,type]]]]
.fi
.in
.IP
(three integers and a string).
(Three integers and a string.)
If the type is given as 'noisp16',
the interface will not be configured.
Other recognized types
@ -989,8 +1175,12 @@ are: 'Sanyo", 'Sony', 'Panasonic' and 'Mitsumi'.
.TP
.B "The Mitsumi Standard Interface"
The syntax for this CD-ROM interface is:
.IP
.in +4n
.nf
mcd=iobase,[irq[,wait_value]]
.fi
.in
.IP
The
.I wait_value
@ -1003,18 +1193,30 @@ the mcd driver.
.B "The Mitsumi XA/MultiSession Interface"
This is for the same hardware as above, but the driver has extended features.
Syntax:
.IP
.in +4n
.nf
mcdx=iobase[,irq]
.fi
.in
.TP
.B "The Optics Storage Interface"
The syntax for this type of card is:
.IP
.in +4n
.nf
optcd=iobase
.fi
.in
.TP
.B "The Phillips CM206 Interface"
The syntax for this type of card is:
.IP
.in +4n
.nf
cm206=[iobase][,irq]
.fi
.in
.IP
The driver assumes numbers between 3 and 11 are IRQ values, and
numbers between 0x300 and 0x370 are I/O ports, so you can specify one,
@ -1024,13 +1226,21 @@ autoprobing.
.TP
.B "The Sanyo Interface"
The syntax for this type of card is:
.IP
.in +4n
.nf
sjcd=iobase[,irq[,dma_channel]]
.fi
.in
.TP
.B "The SoundBlaster Pro Interface"
The syntax for this type of card is:
.IP
.in +4n
.nf
sbpcd=iobase,type
.fi
.in
.IP
where type is one of the following (case sensitive) strings:
\&'SoundBlaster', 'LaserMate', or 'SPEA'.
@ -1040,9 +1250,13 @@ CD-ROM interface, and not that of the sound portion of the card.
Different drivers make use of different parameters, but they all at
least share having an IRQ, an I/O port base value, and a name.
In its most generic form, it looks something like this:
.IP
.in +4n
.nf
ether=irq,iobase[,param_1[,...param_8]],name
.IP
.fi
.in
The first nonnumeric argument is taken as the name.
The param_n values (if applicable) usually have different meanings for each
different card/driver.
@ -1053,9 +1267,13 @@ and the like.
The most common use of this parameter is to force probing for a second
ethercard, as the default is to probe only for one.
This can be accomplished with a simple:
.IP
.in +4n
.nf
ether=0,0,eth1
.IP
.fi
.in
Note that the values of zero for the IRQ and I/O base in the above
example tell the driver(s) to autoprobe.
@ -1143,7 +1361,7 @@ be an interaction between video and floppy.
The unexpected interrupts
only affect performance, and can safely be ignored.)
.SS The sound driver
The sound driver can also accept boot args to override the compiled in
The sound driver can also accept boot arguments to override the compiled in
values.
This is not recommended, as it is rather complex.
It is described in the Linux kernel source file
@ -1151,9 +1369,13 @@ It is described in the Linux kernel source file
.RI ( drivers/sound/Readme.linux
in older kernel versions).
It accepts
a boot arg of the form:
.IP
a boot argument of the form:
.in +4n
.nf
sound=device1[,device2[,device3...[,device10]]]
.fi
.in
.IP
where each deviceN value is of the following format 0xTaaaId and the
bytes are used as follows:
@ -1169,22 +1391,30 @@ d \- DMA channel.
As you can see it gets pretty messy, and you are better off to compile
in your own personal values as recommended.
Using a boot arg of
Using a boot argument of
\&'sound=0' will disable the sound driver entirely.
.SS ISDN drivers
.TP
.B "The ICN ISDN driver"
Syntax:
.IP
.in +4n
.nf
icn=iobase,membase,icn_id1,icn_id2
.fi
.in
.IP
where icn_id1,icn_id2 are two strings used to identify the
card in kernel messages.
.TP
.B "The PCBIT ISDN driver"
Syntax:
.IP
.in +4n
.nf
pcbit=membase1,irq1[,membase2,irq2]
.fi
.in
.IP
where membaseN is the shared memory base of the N'th card, and irqN is
the interrupt setting of the N'th card.
@ -1193,8 +1423,12 @@ membase 0xD0000.
.TP
.B "The Teles ISDN driver"
Syntax:
.IP
.in +4n
.nf
teles=iobase,irq,membase,protocol,teles_id
.fi
.in
.IP
where iobase is the I/O port address of the card, membase is the
shared memory base address of the card, irq is the interrupt channel
@ -1203,8 +1437,12 @@ the card uses, and teles_id is the unique ASCII string identifier.
.TP
.B "The RISCom/8 Multiport Serial Driver ('riscom8=')"
Syntax:
.IP
.in +4n
.nf
riscom=iobase1[,iobase2[,iobase3[,iobase4]]]
.fi
.in
.IP
More details can be found in the kernel source file
.IR Documentation/riscom8.txt .
@ -1212,8 +1450,12 @@ More details can be found in the kernel source file
.B "The DigiBoard Driver ('digi=')"
If this option is used, it should have precisely six parameters.
Syntax:
.IP
.in +4n
.nf
digi=status,type,altpin,numports,iobase,membase
.fi
.in
.IP
The parameters maybe given as integers, or as strings.
If strings are used, then iobase and membase should be given
@ -1226,18 +1468,25 @@ numports (number of ports on this card),
iobase (I/O Port where card is configured (in HEX)),
membase (base of memory window (in HEX)).
Thus, the following two boot prompt arguments are equivalent:
.IP
.in +4n
.nf
digi=E,PC/Xi,D,16,200,D0000
.br
digi=1,0,0,16,0x200,851968
.fi
.in
.IP
More details can be found in the kernel source file
.IR Documentation/digiboard.txt .
.TP
.B "The Baycom Serial/Parallel Radio Modem"
Syntax:
.IP
.in +4n
.nf
baycom=iobase,irq,modem
.fi
.in
.IP
There are precisely 3 parameters; for several cards, give
several 'baycom=' commands.
@ -1253,8 +1502,12 @@ for older kernels) in the Linux kernel source.
.TP
.B "Soundcard radio modem driver"
Syntax:
.IP
.in +4n
.nf
soundmodem=iobase,irq,dma[,dma2[,serio[,pario]]],0,mode
.fi
.in
.IP
All parameters except the last are integers;
the dummy 0 is required because of a bug in the setup code.
@ -1264,15 +1517,17 @@ afsk1200, fsk9600.
.SS The line printer driver
.TP
.B "'lp='"
.br
Syntax:
.IP
.in +4n
.nf
lp=0
.br
lp=auto
.br
lp=reset
.br
lp=port[,port...]
.fi
.in
.IP
You can tell the printer driver what ports to use and what ports not
to use.
@ -1289,8 +1544,12 @@ lp=0.
.TP
.B "WDT500/501 driver"
Syntax:
.IP
.in +4n
.nf
wdt=io,irq
.fi
.in
.SS Mouse drivers
.TP
.B "'bmouse=irq'"
@ -1301,8 +1560,13 @@ hardware IRQ value to be used.
And precisely the same is true for the msmouse driver.
.TP
.B "ATARI mouse setup"
.IP
Syntax:
.in +4n
.nf
atamouse=threshold[,y-threshold]
.fi
.in
.IP
If only one argument is given, it is used for both
x-threshold and y-threshold.