Learning Debian GNU/LinuxBy Bill McCarty1st Edition September 1999 1-56592-705-2, Order Number: 7052 360 pages, $34.95 , Includes CD-ROM |
D.5 Boot Parameters
When you boot your system by using loadlin, you can specify several parameters that control the boot process. Such parameters are sometimes needed to take advantage of unusual hardware devices, large amounts of RAM (more than 128 MB), and so on. Similarly, when you boot by using lilo, you can also boot parameters to control the boot process; you can specify lilo's boot parameters by using linuxconf or by editing lilo's configuration file. You can also specify boot parameters to lilo by typing them in response to lilo's prompt.
Boot parameters are specified using a two-part directive that includes:
an optional list of options, which consists of an equals sign (=) followed by a comma-separated list of option values
No spaces may appear in the directive. As an example, the following directive specifies the identity of the Linux root partition:
root=/dev/hda1You can specify multiple directives by separating them with a space. For example, the following specifies the identity of the Linux root partition and specifies that the root partition is initially mounted read-only, so that a thorough check of its filesystem can be performed:
root=/dev/hda1 roMost directives are interpreted by the kernel, though lilo is also capable of processing directives. If you specify a directive that neither the kernel nor lilo understands (assuming you're using lilo), a directive that includes an equals sign is passed to the init process as an environment variable. You've learned about environment variables in Chapter 13, Conquering the BASH Shell. A non-kernel directive that doesn't include an equals sign is passed to the init process. An example of this usage is specifying the directive single, which causes init to start your system in single-user mode:
root=/dev/hda1 ro singleThis directive is especially useful when booting your system using lilo; by specifying the single directive in response to lilo's command prompt, you can boot your system in single-user mode.
D.5.1 General Boot Arguments
Table D.2 describes some of the most popular and useful boot arguments. These arguments apply to your system as a whole; in subsequent sections you'll learn about other boot arguments that apply to specific devices or functions. In addition to boot arguments previously introduced, the table describes the reserve argument, which is helpful in avoided system memory conflicts.
Table D.2: Selected General Boot Arguments Argument
Description and options
init=
Specifies arguments passed by the kernel to the init process.
mem=
Specifies the amount of physical memory available to Linux; lets you instruct Linux to avoid high memory areas used by some systems for BIOS or caching. You can specify the amount as a hexadecimal number, or as a decimal number followed by k or M, denoting kilobytes or megabytes, respectively.
reserve=
Specifies I/O ports that must not be probed. The port number is specified by using a hexadecimal number and the range is specified by using a decimal number. For example,
reserve=0x320,32
specifies the I/O ports320-33f
must not be probed.ro
Initially mount the root filesystem in read-only mode, so that a more effective filesystem check can be done.
root=
Identifies the root filesystem:
/dev/fd
n
, floppy disk n (0 or 1)
/dev/hd
xn
, partition n of IDE drive x (a to d)
/dev/sd
xn
, partition n of SCSI drive x (a to e)rw
Initially mount the root filesystem in read-write mode; do not perform a filesystem check.
vga=
Specifies the default display mode set before booting. Specifying
vga=ask
will cause lilo to list the available video modes. You can then specify the desired mode in place of ask.Note: This argument is interpreted by lilo and will have no effect if another loader is used.
D.5.2 RAM Disk Boot Arguments
Table D.3 describes several boot arguments used in working with RAM disks. You won't likely need to specify any of these; but knowing about them may help you understand boot specifications written by others, including those used by Debian GNU/Linux.
Table D.3: Selected RAM Disk Arguments Argument
Description and options
load_ramdisk=
Specifies that a ramdisk is not to be loaded (0) or is to be loaded (1).
prompt_ramdisk=
Specifies whether to provide a prompt instructing the user to insert a floppy containing a ramdisk (1) or provide no such prompt (0).
ramdisk_size=
Specifies the amount of RAM to be allocated to a ramdisk. If not specified, the default value is 4 MB.
ramdisk_start=
Specifies the offset (in disk blocks from the start of the boot media) of the ramdisk data; lets a kernel and ramdisk data occupy the same floppy disk.
D.5.3 SCSI Host Adapter Boot Arguments
Table D.4 describes the most often used boot arguments related to SCSI host adapters. Table D.5 describes the options used by the SCSI host adapter boot arguments and other boot arguments.
Table D.4: Selected SCSI Host Adapter Arguments Argument
Description and options
advansys=
Advansys SCSI host adapter:
iobase,[ iobase,[ iobase,[ iobase]]]aha152x=
Adaptec aha151x, ada152x, aic6260, aic6360, and SB16-SCSI SCSI host adapters:
iobase[, irq[, scsi_id[, reconnect[, parity]]]]aha1542=
Adaptec aha154x SCSI host adapter:
iobase[, buson,busoff[, dmaspeed]]aic7xxx=
Adaptec aha274x, aha284x, aic7xxx SCSI host adapters:
extended, no_resetAM53C974=
AMD AM53C974-based SCSI host adapters:
scsi-id, dev_id, dmaspeed, offsetSee the file linux/drivers/scsi/README.AM53C974.
buslogic=
BusLogic SCSI controller:
Many options are available. See the BootPrompt-HOWTO.
eata=
EATA SCSI host adapter:
iobase,[ iobase,[ iobase,[ iobase]]]fdomain=
Future Domain SCSI controller:
iobase, irq[, scsi_id]in2000=
Always SCSI host adapter:
The driver for the Always SCSI controller accepts options in somewhat different format than other drivers. See the BootPrompt-HOWTO.
max-scsi-luns=
Specifies the maximum number of SCSI logical units to be probed; lets you avoid probing devices that might lock up the SCSI bus.
ncr5380=
NCR 5380-based SCSI host adapters:
iobase, irq, dma membase, irq, dmancr53c400=
NCR 53c400-based SCSI host adapters:
iobase, irq membase, irqncr53c406a=
NCR 53c406a-based SCSI host adapters:
iobase, irq, pio membase, irq, pio
ppa=
IOMEGA parallel port SCSI adapter for ZIP drive:
iobase, speed_high, speed_low, nybble
pas16=
Pro Audio Spectrum SCSI host adapter:
iobase, irqst0x=
Seagate ST-0x SCSI host adapter:
membase, irqt128=
Trantor T128 SCSI host adapter:
membase, irqtmc8xx=
Future Domain TMC-8xx and TMC-950 SCSI host adapters:
membase, irqu14-34f=
Ultrastor SCSI host adapter:
iobase,[ iobase,[ iobase,[ iobase]]]wd7000=
Western Digital WD7000 SCSI host adapter:
irq, dma, iobaseFor example, from Table D.4 you can learn that Adaptec aha154x SCSI host adapters use a boot argument having the form:
iobase[, buson,busoff[, dmaspeed]]Table D.5 helps you understand the form of the
iobase
option and the other italicized options. Theiobase
option, for example, lets you specify the I/O port associated with the SCSI host adapter. Don't include the square brackets in your boot argument; they merely indicate which options must be present. For example, you can specify a boot argument for an Adaptec aha154x SCSI host adapter by writing only aniobase
option; the remaining options are optional. However, as indicated by the square brackets, if you include abuson
option, you must include abusoff
option. Similarly, to include thedmaspeed
option, you must include each of the other options. Here's an example of a complete boot argument:aha1542=0x300,11,4
Table D.5: Selected Boot Prompt Options Option
Description and options
busoff
The interval (number of microseconds) during which the device will relinquish the ISA bus, specified as a decimal integer; for example,
4
.
buson
The interval (number of microseconds) during which the device will dominate the ISA bus, specified as a decimal integer; for example,
11
.
ctl
The I/O port used for control, specified as a hexadecimal number; for example,
0x300
.
cyl,head,sect
The geometry of the storage device, specified as three integers denoting the number of cylinders, heads, and sectors, respectively.
dev_id
A SCSI device with which the host adapter communicates, specified as a decimal integer; for example,
2
.
dma
The DMA (direct memory access) channel by used by the device, specified as a decimal integer; for example,
3
.
dmaspeed
The rate (in MB/sec.) at which DMA transfers are performed, specified as a decimal integer; for example,
5
.
extended
Specifies whether extended translation for large disks is enabled (
1
) or not (0
).
magic_number
Specifying the value
79
causes the driver to attempt to work, even if the firmware version is unknown; other values are ignored.
no_reset
Specifies whether the driver should reset the SCSI bus when setting up the host adapter at boot (
1
) or not (0
).
iobase
An I/O port, specified as a hexadecimal number; for example,
0x300
.
irq
A hardware interrupt number, specified as a decimal integer; for example,
5
.
is_pas_card
Specifies whether a Pro Audio Spectrum card is used (
PAS
); otherwise, do not specify this option.
membase
The base address of a memory region used for memory-mapped I/O, specified as a hexadecimal number; for example,
0x2000
.
parity
Specifies whether the SCSI host adapter uses parity (
1
) or does not use parity (0
).
pio
Specifies whether
insl
andoutsl
multi-byte instructions (1
) orinb
andoutb
single-byte instructions (0
) are used.
reconnect
Specifies whether the SCSI host adapter is allowed to disconnect and reconnect (
1
) or holds a connection until the operation is complete (0
).
scsi_id
The ID by which the SCSI host adapter identifies itself, specified as a decimal integer; for example,
7
.To determine a proper value for options described in Table D.5, you must often know something about the hardware structure of your system. The procedures described in Chapter 2, Preparing to Install Linux will help you.
D.5.4 IDE Hard Drive and CD-ROM Boot Arguments
Table D.6 describes the most commonly used boot arguments associated with IDE hard rives and CD-ROM drives. Refer to Table D.7 to determine the form of the italicized options.
Table D.6: Selected IDE Hard Drive Arguments
Argument
Description and Options
ide0=
IDE hard drive or CD-ROM:
ali14xx
, probe for, and support, the alil4xx interface.
cmd640_vlb
, probe for, and support, the cmd640 chip (required for controllers using a VLB interface).
dtc2278
, probe for, and support, the dtc2278 interface.
ht6560b
, probe for, and support, the ht6560b interface.
qd6580
, probe for, and support, the qd6580 interface.
umc8672
, probe for, and support, the umc8672 interface.hd
x
=
IDE hard drive or CD-ROM (
x
denotes the physical device, and must be a letter from a to h):
autotune
, which specifies that the driver should attempt to tune the interface to the fastest possible mode and speed.
cdrom
, which specifies that the drive is a CD-ROM drive.
cyl
,head
,sect
, which specifies the geometry of the drive.
none
, which specifies that the drive is not present - do not probe.
noprobe
, which specifies that the driver should not probe for the device.
nowerr
, which specifies that theWRERR_STAT
bit should be ignored on this drive.ide
x
=
IDE hard drive or CD-ROM (
x
specifies the physical device, and must be a digit from 0 to 3):
autotune
, which specifies that the driver should attempt to tune the interface to the fastest possible mode and speed.
iobase
, which specifies the I/O port used by the drive.
iobase
,
ctl
, which specifies the I/O port and control port used by the drive.
iobase
,
ctl
,
irq
, which specifies the I/O port, control port, and IRQ used by the drive.
noautotune
, which specifies that the driver should not attempt to tune the interface for fastest mode and speed.
noprobe
, which specifies that the driver should not probe for the device.
serialize
, which specifies that I/O operations should not be overlapped.D.5.5 Non-IDE CD-ROM Drive Boot Arguments
Table D.7 describes the most common boot arguments for non-IDE CD-ROM drives. Refer to Table D.5 to determine the form of the italicized options.
Table D.7: Selected CD-ROM Arguments Argument
Description and Options
aztcd=
Aztech CD-ROM:
iobase[, magic_number]
cdu31a=
Sony CDU-31A or CDU-33A CD-ROM:
iobase,[ irq[, is_pas_card]]
sonycd535=
Sony CDU-535 CD-ROM:
iobase[, irq]
gscd=
Goldstar CD-ROM:
iobase
isp16=
ISP16 CD-ROM:
[ port[, irq[, dma]]][[,] drive_type]
mcd=
Mitsumi CD-ROM:
iobase,[ irq[, wait_value]]
optcd=
Optical Storage CD-ROM:
iobase
cm206=
Phillips CD206 CD-ROM:
[ iobase][, irq]
sjcd=
Sanyo CD-ROM:
iobase[, irq[, dma_channel]]
sbpcd=
SoundBlaster Pro CD-ROM:
iobase, typeD.5.6 Floppy Drive Boot Arguments
A few systems require special boot arguments to make best use of their floppy drives. Table D.8 describes the most common boot arguments related to floppy drives. The file README.fd in linux/drivers/block describes additional arguments. Floppy drives that are not well behaved may malfunction if you specify the
daring
option, which you should use only with care.
Table D.8: Selected Floppy Disk Arguments and Options Argument and Option
Description
floppy=asus_pci
Specifies that only units 0 and 1 are allowed, to work around problem with BIOS of certain ASUS motherboards.
floppy=daring
Specifies that the floppy controller is well behaved, allowing more efficient operation.
floppy=0,daring
Specifies that the floppy controller may not be well behaved (default).
floppy=thinkpad
Specifies that the system is an IBM Thinkpad.
floppy=no_unexpected_interrupts
orfloppy=L40SX
Specifies that a message should be printed when an unexpected interrupt is received. This is required by IBM L40SX laptops in certain video modes.
D.5.7 Bus Mouse Boot Arguments
Two boot arguments provide bus mouse support. The first supports the Microsoft bus mouse:
msmouse= irqThe second supports any non-Microsoft bus mouse:
bmouse= irqEach argument accepts a single option specifying the IRQ associated with the mouse.
D.5.8 Parallel Port Printer Boot Arguments
The Linux printer driver claims all available parallel ports. If you want to access a device other than a printer attached to a parallel port, you must instruct the printer driver to reserve only the ports associated with printers. To do so, use the
lp
boot argument, which takes as its options a list of ports and IRQs use to support printers. For example, the following boot argument specifies two printers:lp=0x3bc,0,0x378,7The first printer is on port
0x3bc
and the second is on port0x378
. The first printer uses a special IRQ-less mode known as polling, so its IRQ is specified as 0. The second printer uses IRQ 7.To disable all printers, specify
lp=0
.
Back to: Learning Debian GNU/Linux
© 2001, O'Reilly & Associates, Inc.