861 lines
24 KiB
HTML
861 lines
24 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of BOOTPARAM</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>BOOTPARAM</H1>
|
|
Section: Linux Programmer's Manual (7)<BR>Updated: 2017-09-15<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
bootparam - introduction to boot time parameters of the Linux kernel
|
|
<A NAME="lbAC"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
The Linux kernel accepts certain 'command-line options' or 'boot time
|
|
parameters' at the moment it is started.
|
|
In general, this is used to
|
|
supply the kernel with information about hardware parameters that
|
|
the kernel would not be able to determine on its own, or to avoid/override
|
|
the values that the kernel would otherwise detect.
|
|
<P>
|
|
|
|
When the kernel is booted directly by the BIOS,
|
|
you have no opportunity to specify any parameters.
|
|
So, in order to take advantage of this possibility you have to
|
|
use a boot loader that is able to pass parameters, such as GRUB.
|
|
<A NAME="lbAD"> </A>
|
|
<H3>The argument list</H3>
|
|
|
|
The kernel command line is parsed into a list of strings
|
|
(boot arguments) separated by spaces.
|
|
Most of the boot arguments have the form:
|
|
<P>
|
|
|
|
|
|
|
|
name[=value_1][,value_2]...[,value_10]
|
|
|
|
|
|
<P>
|
|
|
|
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.
|
|
Note the limit of 10 is real, as the present code handles only 10 comma
|
|
separated parameters per keyword.
|
|
(However, you can reuse the same
|
|
keyword with up to an additional 10 parameters in unusually
|
|
complicated situations, assuming the setup function supports it.)
|
|
<P>
|
|
|
|
Most of the sorting is coded in the kernel source file
|
|
<I>init/main.c</I>.
|
|
|
|
First, the kernel
|
|
checks to see if the argument is any of the special arguments 'root=',
|
|
'nfsroot=', 'nfsaddrs=', 'ro', 'rw', 'debug' or 'init'.
|
|
The meaning of these special arguments is described below.
|
|
<P>
|
|
|
|
Then it walks a list of setup functions
|
|
to see if the specified argument string (such as 'foo') has
|
|
been associated with a setup function ('foo_setup()') for a particular
|
|
device or part of the kernel.
|
|
If you passed the kernel the line
|
|
foo=3,4,5,6 then the kernel would search the bootsetups array to see
|
|
if 'foo' was registered.
|
|
If it was, then it would call the setup
|
|
function associated with 'foo' (foo_setup()) and hand it the arguments
|
|
3, 4, 5, and 6 as given on the kernel command line.
|
|
<P>
|
|
|
|
Anything of the form 'foo=bar' that is not accepted as a setup function
|
|
as described above is then interpreted as an environment variable to
|
|
be set.
|
|
A (useless?) example would be to use 'TERM=vt100' as a boot
|
|
argument.
|
|
<P>
|
|
|
|
Any remaining arguments that were not picked up by the kernel and were
|
|
not interpreted as environment variables are then passed onto PID 1,
|
|
which is usually the
|
|
<B><A HREF="/cgi-bin/man/man2html?1+init">init</A></B>(1)
|
|
|
|
program.
|
|
The most common argument that
|
|
is passed to the
|
|
<I>init</I>
|
|
|
|
process is the word 'single' which instructs it
|
|
to boot the computer in single user mode, and not launch all the usual
|
|
daemons.
|
|
Check the manual page for the version of
|
|
<B><A HREF="/cgi-bin/man/man2html?1+init">init</A></B>(1)
|
|
|
|
installed on
|
|
your system to see what arguments it accepts.
|
|
<A NAME="lbAE"> </A>
|
|
<H3>General non-device-specific boot arguments</H3>
|
|
|
|
<DL COMPACT>
|
|
<DT id="1"><B>'init=...'</B>
|
|
|
|
<DD>
|
|
This sets the initial command to be executed by the kernel.
|
|
If this is not set, or cannot be found, the kernel will try
|
|
<I>/sbin/init</I>,
|
|
|
|
then
|
|
<I>/etc/init</I>,
|
|
|
|
then
|
|
<I>/bin/init</I>,
|
|
|
|
then
|
|
<I>/bin/sh</I>
|
|
|
|
and panic if all of this fails.
|
|
<DT id="2"><B>'nfsaddrs=...'</B>
|
|
|
|
<DD>
|
|
This sets the NFS boot address to the given string.
|
|
This boot address is used in case of a net boot.
|
|
<DT id="3"><B>'nfsroot=...'</B>
|
|
|
|
<DD>
|
|
This sets the NFS root name to the given string.
|
|
If this string
|
|
does not begin with '/' or ',' or a digit, then it is prefixed by
|
|
'/tftpboot/'.
|
|
This root name is used in case of a net boot.
|
|
<DT id="4"><B>'root=...'</B>
|
|
|
|
<DD>
|
|
This argument tells the kernel what device is to be used as the root
|
|
filesystem while booting.
|
|
The default of this setting is determined
|
|
at compile time, and usually is the value of the root device of the
|
|
system that the kernel was built on.
|
|
To override this value, and
|
|
select the second floppy drive as the root device, one would
|
|
use 'root=/dev/fd1'.
|
|
<DT id="5"><DD>
|
|
The root device can be specified symbolically or numerically.
|
|
A symbolic specification has the form
|
|
<I>/dev/XXYN</I>,
|
|
|
|
where XX designates
|
|
the device type (e.g., 'hd' for ST-506 compatible hard disk, with Y in
|
|
'a'-'d'; 'sd' for SCSI compatible disk, with Y in 'a'-'e'),
|
|
Y the driver letter or
|
|
number, and N the number (in decimal) of the partition on this device.
|
|
<DT id="6"><DD>
|
|
Note that this has nothing to do with the designation of these
|
|
devices on your filesystem.
|
|
The '/dev/' part is purely conventional.
|
|
<DT id="7"><DD>
|
|
The more awkward and less portable numeric specification of the above
|
|
possible root devices in major/minor format is also accepted.
|
|
(For example,
|
|
<I>/dev/sda3</I>
|
|
|
|
is major 8, minor 3, so you could use 'root=0x803' as an
|
|
alternative.)
|
|
<DT id="8"><B>'rootdelay='</B>
|
|
|
|
<DD>
|
|
This parameter sets the delay (in seconds) to pause before attempting
|
|
to mount the root filesystem.
|
|
<DT id="9"><B>'rootflags=...'</B>
|
|
|
|
<DD>
|
|
This parameter sets the mount option string for the root filesystem
|
|
(see also
|
|
<B><A HREF="/cgi-bin/man/man2html?5+fstab">fstab</A></B>(5)).
|
|
|
|
<DT id="10"><B>'rootfstype=...'</B>
|
|
|
|
<DD>
|
|
The 'rootfstype' option tells the kernel to mount the root filesystem as
|
|
if it where of the type specified.
|
|
This can be useful (for example) to
|
|
mount an ext3 filesystem as ext2 and then remove the journal in the root
|
|
filesystem, in fact reverting its format from ext3 to ext2 without the
|
|
need to boot the box from alternate media.
|
|
<DT id="11"><B>'ro'</B> and <B>'rw'</B>
|
|
|
|
<DD>
|
|
The 'ro' option tells the kernel to mount the root filesystem
|
|
as 'read-only' so that filesystem consistency check programs (fsck)
|
|
can do their work on a quiescent filesystem.
|
|
No processes can
|
|
write to files on the filesystem in question until it is 'remounted'
|
|
as read/write capable, for example, by 'mount -w -n -o remount /'.
|
|
(See also
|
|
<B><A HREF="/cgi-bin/man/man2html?8+mount">mount</A></B>(8).)
|
|
|
|
<DT id="12"><DD>
|
|
The 'rw' option tells the kernel to mount the root filesystem read/write.
|
|
This is the default.
|
|
<DT id="13"><B>'resume=...'</B>
|
|
|
|
<DD>
|
|
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:
|
|
<DT id="14"><DD>
|
|
|
|
|
|
resume=/dev/hda2
|
|
|
|
|
|
<DT id="15"><B>'reserve=...'</B>
|
|
|
|
<DD>
|
|
This is used to protect I/O port regions from probes.
|
|
The form of the command is:
|
|
<DT id="16"><DD>
|
|
|
|
|
|
<B>reserve=</B><I>iobase,extent[,iobase,extent]...</I>
|
|
|
|
|
|
|
|
<DT id="17"><DD>
|
|
In some machines it may be necessary to prevent device drivers from
|
|
checking for devices (auto-probing) in a specific region.
|
|
This may be
|
|
because of hardware that reacts badly to the probing, or hardware
|
|
that would be mistakenly identified, or merely
|
|
hardware you don't want the kernel to initialize.
|
|
<DT id="18"><DD>
|
|
The reserve boot-time argument specifies an I/O port region that
|
|
shouldn't be probed.
|
|
A device driver will not probe a reserved region,
|
|
unless another boot argument explicitly specifies that it do so.
|
|
<DT id="19"><DD>
|
|
For example, the boot line
|
|
<DT id="20"><DD>
|
|
|
|
|
|
reserve=0x300,32 blah=0x300
|
|
|
|
|
|
<DT id="21"><DD>
|
|
keeps all device drivers except the driver for 'blah' from probing
|
|
0x300-0x31f.
|
|
<DT id="22"><B>'panic=N'</B>
|
|
|
|
<DD>
|
|
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
|
|
<DT id="23"><DD>
|
|
|
|
|
|
echo N > /proc/sys/kernel/panic
|
|
|
|
|
|
<DT id="24"><B>'reboot=[warm|cold][,[bios|hard]]'</B>
|
|
|
|
<DD>
|
|
Since Linux 2.0.22, a reboot is by default a cold reboot.
|
|
One asks for the old default with 'reboot=warm'.
|
|
(A cold reboot may be required to reset certain hardware,
|
|
but might destroy not yet written data in a disk cache.
|
|
A warm reboot may be faster.)
|
|
By default, a reboot is hard, by asking the keyboard controller
|
|
to pulse the reset line low, but there is at least one type
|
|
of motherboard where that doesn't work.
|
|
The option 'reboot=bios' will
|
|
instead jump through the BIOS.
|
|
<DT id="25"><B>'nosmp'</B> and <B>'maxcpus=N'</B>
|
|
|
|
<DD>
|
|
(Only when __SMP__ is defined.)
|
|
A command-line option of 'nosmp' or 'maxcpus=0' will disable SMP
|
|
activation entirely; an option 'maxcpus=N' limits the maximum number
|
|
of CPUs activated in SMP mode to N.
|
|
</DL>
|
|
<A NAME="lbAF"> </A>
|
|
<H3>Boot arguments for use by kernel developers</H3>
|
|
|
|
<DL COMPACT>
|
|
<DT id="26"><B>'debug'</B>
|
|
|
|
<DD>
|
|
Kernel messages are handed off to a daemon (e.g.,
|
|
<B><A HREF="/cgi-bin/man/man2html?8+klogd">klogd</A></B>(8)
|
|
|
|
or similar) so that they may be logged to disk.
|
|
Messages with a priority above
|
|
<I>console_loglevel</I>
|
|
|
|
are also printed on the console.
|
|
(For a discussion of log levels, see
|
|
<B><A HREF="/cgi-bin/man/man2html?2+syslog">syslog</A></B>(2).)
|
|
|
|
By default,
|
|
<I>console_loglevel</I>
|
|
|
|
is set to log messages at levels higher than
|
|
<B>KERN_DEBUG</B>.
|
|
|
|
This boot argument will cause the kernel to also
|
|
print messages logged at level
|
|
<B>KERN_DEBUG</B>.
|
|
|
|
The console loglevel can also be set on a booted system via the
|
|
<I>/proc/sys/kernel/printk</I>
|
|
|
|
file (described in
|
|
<B><A HREF="/cgi-bin/man/man2html?2+syslog">syslog</A></B>(2)),
|
|
|
|
the
|
|
<B><A HREF="/cgi-bin/man/man2html?2+syslog">syslog</A></B>(2)
|
|
|
|
<B>SYSLOG_ACTION_CONSOLE_LEVEL</B>
|
|
|
|
operation, or
|
|
<B><A HREF="/cgi-bin/man/man2html?8+dmesg">dmesg</A></B>(8).
|
|
|
|
<DT id="27"><B>'profile=N'</B>
|
|
|
|
<DD>
|
|
It is possible to enable a kernel profiling function,
|
|
if one wishes to find out where the kernel is spending its CPU cycles.
|
|
Profiling is enabled by setting the variable
|
|
<I>prof_shift</I>
|
|
|
|
to a nonzero value.
|
|
This is done either by specifying
|
|
<B>CONFIG_PROFILE</B>
|
|
|
|
at compile time, or by giving the 'profile=' option.
|
|
Now the value that
|
|
<I>prof_shift</I>
|
|
|
|
gets will be N, when given, or
|
|
<B>CONFIG_PROFILE_SHIFT</B>,
|
|
|
|
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:
|
|
<DT id="28"><DD>
|
|
|
|
|
|
profile[address >> prof_shift]++;
|
|
|
|
|
|
<DT id="29"><DD>
|
|
The raw profiling information can be read from
|
|
<I>/proc/profile</I>.
|
|
|
|
Probably you'll want to use a tool such as readprofile.c to digest it.
|
|
Writing to
|
|
<I>/proc/profile</I>
|
|
|
|
will clear the counters.
|
|
</DL>
|
|
<A NAME="lbAG"> </A>
|
|
<H3>Boot arguments for ramdisk use</H3>
|
|
|
|
(Only if the kernel was compiled with
|
|
<B>CONFIG_BLK_DEV_RAM</B>.)
|
|
|
|
In general it is a bad idea to use a ramdisk under Linux---the
|
|
system will use available memory more efficiently itself.
|
|
But while booting,
|
|
it is often useful to load the floppy contents into a
|
|
ramdisk.
|
|
One might also have a system in which first
|
|
some modules (for filesystem or hardware) must be loaded
|
|
before the main disk can be accessed.
|
|
<DL COMPACT>
|
|
<DT id="30"><DD>
|
|
In Linux 1.3.48, ramdisk handling was changed drastically.
|
|
Earlier, the memory was allocated statically, and there was
|
|
a 'ramdisk=N' parameter to tell its size.
|
|
(This could also be set in the kernel image at compile time.)
|
|
These days ram disks use the buffer cache, and grow dynamically.
|
|
For a lot of information on the current ramdisk
|
|
setup, see the kernel source file
|
|
<I>Documentation/blockdev/ramdisk.txt</I>
|
|
|
|
(<I>Documentation/ramdisk.txt</I>
|
|
|
|
in older kernels).
|
|
<DT id="31"><DD>
|
|
There are four parameters, two boolean and two integral.
|
|
<DT id="32"><B>'load_ramdisk=N'</B>
|
|
|
|
<DD>
|
|
If N=1, do load a ramdisk.
|
|
If N=0, do not load a ramdisk.
|
|
(This is the default.)
|
|
<DT id="33"><B>'prompt_ramdisk=N'</B>
|
|
|
|
<DD>
|
|
If N=1, do prompt for insertion of the floppy.
|
|
(This is the default.)
|
|
If N=0, do not prompt.
|
|
(Thus, this parameter is never needed.)
|
|
<DT id="34"><B>'ramdisk_size=N'</B> or (obsolete) <B>'ramdisk=N'</B>
|
|
|
|
<DD>
|
|
Set the maximal size of the ramdisk(s) to N kB.
|
|
The default is 4096 (4 MB).
|
|
<DT id="35"><B>'ramdisk_start=N'</B>
|
|
|
|
<DD>
|
|
Sets the starting block number (the offset on the floppy where
|
|
the ramdisk starts) to N.
|
|
This is needed in case the ramdisk follows a kernel image.
|
|
<DT id="36"><B>'noinitrd'</B>
|
|
|
|
<DD>
|
|
(Only if the kernel was compiled with
|
|
<B>CONFIG_BLK_DEV_RAM</B>
|
|
|
|
and
|
|
<B>CONFIG_BLK_DEV_INITRD</B>.)
|
|
|
|
These days it is possible to compile the kernel to use initrd.
|
|
When this feature is enabled, the boot process will load the kernel
|
|
and an initial ramdisk; then the kernel converts initrd into
|
|
a "normal" ramdisk, which is mounted read-write as root device;
|
|
then
|
|
<I>/linuxrc</I>
|
|
|
|
is executed; afterward the "real" root filesystem is mounted,
|
|
and the initrd filesystem is moved over to
|
|
<I>/initrd</I>;
|
|
|
|
finally
|
|
the usual boot sequence (e.g., invocation of
|
|
<I>/sbin/init</I>)
|
|
|
|
is performed.
|
|
<DT id="37"><DD>
|
|
For a detailed description of the initrd feature, see the kernel source file
|
|
<I>Documentation/admin-guide/initrd.rst</I>
|
|
|
|
|
|
(or
|
|
<I>Documentation/initrd.txt</I>
|
|
|
|
before Linux 4.10).
|
|
<DT id="38"><DD>
|
|
The 'noinitrd' option tells the kernel that although it was compiled for
|
|
operation with initrd, it should not go through the above steps, but
|
|
leave the initrd data under
|
|
<I>/dev/initrd</I>.
|
|
|
|
(This device can be used only once: the data is freed as soon as
|
|
the last process that used it has closed
|
|
<I>/dev/initrd</I>.)
|
|
|
|
</DL>
|
|
<A NAME="lbAH"> </A>
|
|
<H3>Boot arguments for SCSI devices</H3>
|
|
|
|
General notation for this section:
|
|
<P>
|
|
|
|
<I>iobase</I>
|
|
|
|
-- the first I/O port that the SCSI host occupies.
|
|
These are specified in hexadecimal notation,
|
|
and usually lie in the range from 0x200 to 0x3ff.
|
|
<P>
|
|
|
|
<I>irq</I>
|
|
|
|
-- the hardware interrupt that the card is configured to use.
|
|
Valid values will be dependent on the card in question, but will
|
|
usually be 5, 7, 9, 10, 11, 12, and 15.
|
|
The other values are usually
|
|
used for common peripherals like IDE hard disks, floppies, serial
|
|
ports, and so on.
|
|
<P>
|
|
|
|
<I>scsi-id</I>
|
|
|
|
-- the ID that the host adapter uses to identify itself on the
|
|
SCSI bus.
|
|
Only some host adapters allow you to change this value, as
|
|
most have it permanently specified internally.
|
|
The usual default value
|
|
is 7, but the Seagate and Future Domain TMC-950 boards use 6.
|
|
<P>
|
|
|
|
<I>parity</I>
|
|
|
|
-- whether the SCSI host adapter expects the attached devices
|
|
to supply a parity value with all information exchanges.
|
|
Specifying a one indicates parity checking is enabled,
|
|
and a zero disables parity checking.
|
|
Again, not all adapters will support selection of parity
|
|
behavior as a boot argument.
|
|
<DL COMPACT>
|
|
<DT id="39"><B>'max_scsi_luns=...'</B>
|
|
|
|
<DD>
|
|
A SCSI device can have a number of 'subdevices' contained within
|
|
itself.
|
|
The most common example is one of the new SCSI CD-ROMs that
|
|
handle more than one disk at a time.
|
|
Each CD is addressed as a
|
|
'Logical Unit Number' (LUN) of that particular device.
|
|
But most
|
|
devices, such as hard disks, tape drives and such are only one device,
|
|
and will be assigned to LUN zero.
|
|
<DT id="40"><DD>
|
|
Some poorly designed SCSI devices cannot handle being probed for
|
|
LUNs not equal to zero.
|
|
Therefore, if the compile-time flag
|
|
<B>CONFIG_SCSI_MULTI_LUN</B>
|
|
|
|
is not set, newer kernels will by default probe only LUN zero.
|
|
<DT id="41"><DD>
|
|
To specify the number of probed LUNs at boot, one enters
|
|
'max_scsi_luns=n' as a boot arg, where n is a number between one and
|
|
eight.
|
|
To avoid problems as described above, one would use n=1 to
|
|
avoid upsetting such broken devices.
|
|
<DT id="42"><B>SCSI tape configuration</B>
|
|
|
|
<DD>
|
|
Some boot time configuration of the SCSI tape driver can be achieved
|
|
by using the following:
|
|
<DT id="43"><DD>
|
|
|
|
|
|
<B>st=</B><I>buf_size[,write_threshold[,max_bufs]]</I>
|
|
|
|
|
|
|
|
<DT id="44"><DD>
|
|
The first two numbers are specified in units of kB.
|
|
The default
|
|
<I>buf_size</I>
|
|
|
|
is 32k B, and the maximum size that can be specified is a
|
|
ridiculous 16384 kB.
|
|
The
|
|
<I>write_threshold</I>
|
|
|
|
is the value at which the buffer is committed to tape, with a
|
|
default value of 30 kB.
|
|
The maximum number of buffers varies
|
|
with the number of drives detected, and has a default of two.
|
|
An example usage would be:
|
|
<DT id="45"><DD>
|
|
|
|
|
|
st=32,30,2
|
|
|
|
|
|
<DT id="46"><DD>
|
|
Full details can be found in the file
|
|
<I>Documentation/scsi/st.txt</I>
|
|
|
|
(or
|
|
<I>drivers/scsi/README.st</I>
|
|
|
|
for older kernels) in the Linux kernel source.
|
|
</DL>
|
|
<A NAME="lbAI"> </A>
|
|
<H3>Hard disks</H3>
|
|
|
|
<DL COMPACT>
|
|
<DT id="47"><B>IDE Disk/CD-ROM Driver Parameters</B>
|
|
|
|
<DD>
|
|
The IDE driver accepts a number of parameters, which range from disk
|
|
geometry specifications, to support for broken controller chips.
|
|
Drive-specific options are specified by using 'hdX=' with X in 'a'-'h'.
|
|
<DT id="48"><DD>
|
|
Non-drive-specific options are specified with the prefix 'hd='.
|
|
Note that using a drive-specific prefix for a non-drive-specific option
|
|
will still work, and the option will just be applied as expected.
|
|
<DT id="49"><DD>
|
|
Also note that 'hd=' can be used to refer to the next unspecified
|
|
drive in the (a, ..., h) sequence.
|
|
For the following discussions,
|
|
the 'hd=' option will be cited for brevity.
|
|
See the file
|
|
<I>Documentation/ide/ide.txt</I>
|
|
|
|
(or
|
|
<I>Documentation/ide.txt</I>
|
|
|
|
|
|
in older kernels, or
|
|
<I>drivers/block/README.ide</I>
|
|
|
|
in ancient kernels) in the Linux kernel source for more details.
|
|
<DT id="50"><B>The 'hd=cyls,heads,sects[,wpcom[,irq]]' options</B>
|
|
|
|
<DD>
|
|
These options are used to specify the physical geometry of the disk.
|
|
Only the first three values are required.
|
|
The cylinder/head/sectors
|
|
values will be those used by fdisk.
|
|
The write precompensation value
|
|
is ignored for IDE disks.
|
|
The IRQ value specified will be the IRQ
|
|
used for the interface that the drive resides on, and is not really a
|
|
drive-specific parameter.
|
|
<DT id="51"><B>The 'hd=serialize' option</B>
|
|
|
|
<DD>
|
|
The dual IDE interface CMD-640 chip is broken as designed such that
|
|
when drives on the secondary interface are used at the same time as
|
|
drives on the primary interface, it will corrupt your data.
|
|
Using this
|
|
option tells the driver to make sure that both interfaces are never
|
|
used at the same time.
|
|
<DT id="52"><B>The 'hd=noprobe' option</B>
|
|
|
|
<DD>
|
|
Do not probe for this drive.
|
|
For example,
|
|
<DT id="53"><DD>
|
|
|
|
|
|
hdb=noprobe hdb=1166,7,17
|
|
|
|
|
|
<DT id="54"><DD>
|
|
would disable the probe, but still specify the drive geometry so
|
|
that it would be registered as a valid block device, and hence
|
|
usable.
|
|
<DT id="55"><B>The 'hd=nowerr' option</B>
|
|
|
|
<DD>
|
|
Some drives apparently have the
|
|
<B>WRERR_STAT</B>
|
|
|
|
bit stuck on permanently.
|
|
This enables a work-around for these broken devices.
|
|
<DT id="56"><B>The 'hd=cdrom' option</B>
|
|
|
|
<DD>
|
|
This tells the IDE driver that there is an ATAPI compatible CD-ROM
|
|
attached in place of a normal IDE hard disk.
|
|
In most cases the CD-ROM
|
|
is identified automatically, but if it isn't then this may help.
|
|
<DT id="57"><B>Standard ST-506 Disk Driver Options ('hd=')</B>
|
|
|
|
<DD>
|
|
The standard disk driver can accept geometry arguments for the disks
|
|
similar to the IDE driver.
|
|
Note however that it expects only three
|
|
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:
|
|
<DT id="58"><DD>
|
|
|
|
|
|
hd=cyls,heads,sects
|
|
|
|
|
|
<DT id="59"><DD>
|
|
If there are two disks installed, the above is repeated with the
|
|
geometry parameters of the second disk.
|
|
</DL>
|
|
<A NAME="lbAJ"> </A>
|
|
<H3>Ethernet devices</H3>
|
|
|
|
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:
|
|
<P>
|
|
|
|
|
|
|
|
ether=irq,iobase[,param_1[,...param_8]],name
|
|
|
|
|
|
<P>
|
|
|
|
The first nonnumeric argument is taken as the name.
|
|
The param_n values (if applicable) usually have different meanings for each
|
|
different card/driver.
|
|
Typical param_n values are used to specify
|
|
things like shared memory address, interface selection, DMA channel
|
|
and the like.
|
|
<P>
|
|
|
|
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:
|
|
<P>
|
|
|
|
|
|
|
|
ether=0,0,eth1
|
|
|
|
|
|
<P>
|
|
|
|
Note that the values of zero for the IRQ and I/O base in the above
|
|
example tell the driver(s) to autoprobe.
|
|
<P>
|
|
|
|
The Ethernet-HowTo has extensive documentation on using multiple
|
|
cards and on the card/driver-specific implementation
|
|
of the param_n values where used.
|
|
Interested readers should refer to
|
|
the section in that document on their particular card.
|
|
<A NAME="lbAK"> </A>
|
|
<H3>The floppy disk driver</H3>
|
|
|
|
There are many floppy driver options, and they are all listed in
|
|
<I>Documentation/blockdev/floppy.txt</I>
|
|
|
|
(or
|
|
<I>Documentation/floppy.txt</I>
|
|
|
|
in older kernels, or
|
|
<I>drivers/block/README.fd</I>
|
|
|
|
for ancient kernels) in the Linux kernel source.
|
|
See that file for the details.
|
|
<A NAME="lbAL"> </A>
|
|
<H3>The sound driver</H3>
|
|
|
|
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
|
|
<I>Documentation/sound/oss/README.OSS</I>
|
|
|
|
(<I>drivers/sound/Readme.linux</I>
|
|
|
|
in older kernel versions).
|
|
It accepts
|
|
a boot argument of the form:
|
|
<P>
|
|
|
|
|
|
|
|
sound=device1[,device2[,device3...[,device10]]]
|
|
|
|
|
|
<P>
|
|
|
|
where each deviceN value is of the following format 0xTaaaId and the
|
|
bytes are used as follows:
|
|
<P>
|
|
|
|
T - device type: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16,
|
|
7=SB16-MPU401
|
|
<P>
|
|
|
|
aaa - I/O address in hex.
|
|
<P>
|
|
|
|
I - interrupt line in hex (i.e., 10=a, 11=b, ...)
|
|
<P>
|
|
|
|
d - DMA channel.
|
|
<P>
|
|
|
|
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 argument of
|
|
'sound=0' will disable the sound driver entirely.
|
|
<A NAME="lbAM"> </A>
|
|
<H3>The line printer driver</H3>
|
|
|
|
<DL COMPACT>
|
|
<DT id="60"><B>'lp='</B>
|
|
|
|
<DD>
|
|
<BR>
|
|
|
|
Syntax:
|
|
<DT id="61"><DD>
|
|
|
|
|
|
lp=0
|
|
lp=auto
|
|
lp=reset
|
|
lp=port[,port...]
|
|
|
|
|
|
<DT id="62"><DD>
|
|
You can tell the printer driver what ports to use and what ports not
|
|
to use.
|
|
The latter comes in handy if you don't want the printer driver
|
|
to claim all available parallel ports, so that other drivers
|
|
(e.g., PLIP, PPA) can use them instead.
|
|
<DT id="63"><DD>
|
|
The format of the argument is multiple port names.
|
|
For example,
|
|
lp=none,parport0 would use the first parallel port for lp1, and
|
|
disable lp0.
|
|
To disable the printer driver entirely, one can use
|
|
lp=0.
|
|
|
|
|
|
</DL>
|
|
<A NAME="lbAN"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+klogd">klogd</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+mount">mount</A></B>(8)
|
|
|
|
<P>
|
|
|
|
For up-to-date information, see the kernel source file
|
|
<I>Documentation/admin-guide/kernel-parameters.txt</I>.
|
|
|
|
<A NAME="lbAO"> </A>
|
|
<H2>COLOPHON</H2>
|
|
|
|
This page is part of release 5.05 of the Linux
|
|
<I>man-pages</I>
|
|
|
|
project.
|
|
A description of the project,
|
|
information about reporting bugs,
|
|
and the latest version of this page,
|
|
can be found at
|
|
<A HREF="https://www.kernel.org/doc/man-pages/.">https://www.kernel.org/doc/man-pages/.</A>
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="64"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="65"><A HREF="#lbAC">DESCRIPTION</A><DD>
|
|
<DL>
|
|
<DT id="66"><A HREF="#lbAD">The argument list</A><DD>
|
|
<DT id="67"><A HREF="#lbAE">General non-device-specific boot arguments</A><DD>
|
|
<DT id="68"><A HREF="#lbAF">Boot arguments for use by kernel developers</A><DD>
|
|
<DT id="69"><A HREF="#lbAG">Boot arguments for ramdisk use</A><DD>
|
|
<DT id="70"><A HREF="#lbAH">Boot arguments for SCSI devices</A><DD>
|
|
<DT id="71"><A HREF="#lbAI">Hard disks</A><DD>
|
|
<DT id="72"><A HREF="#lbAJ">Ethernet devices</A><DD>
|
|
<DT id="73"><A HREF="#lbAK">The floppy disk driver</A><DD>
|
|
<DT id="74"><A HREF="#lbAL">The sound driver</A><DD>
|
|
<DT id="75"><A HREF="#lbAM">The line printer driver</A><DD>
|
|
</DL>
|
|
<DT id="76"><A HREF="#lbAN">SEE ALSO</A><DD>
|
|
<DT id="77"><A HREF="#lbAO">COLOPHON</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:06:07 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|