Any other devices that didn't fit into any of the above categories got lumped together here.
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:
ether=irq,iobase[,param_1[,param_2,...param_8]]],name
The first non-numeric 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.
The most common use of this parameter is to force probing for a second ethercard, as the default is to only probe for one. This can be accomplished with a simple:
ether=0,0,eth1
Note that the values of zero for the IRQ and I/O base in the above example tell the driver(s) to autoprobe.
IMPORTANT NOTE TO MODULE USERS: The above will not force a
probe for a second card if you are using the driver(s) as run time
loadable modules (instead of having them complied into the kernel).
Most Linux distributions use a bare bones kernel combined with a
large selection of modular drivers. The ether=
only applies
to drivers compiled directly into the kernel.
The Ethernet-HowTo has complete and 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 for more complete information.
Ethernet-HowTo
There are many floppy driver options, and they are all listed in
README.fd
in linux/drivers/block
. This information
is taken directly from that file.
floppy=mask,allowed_drive_mask
Sets the bitmask of allowed drives to mask
. By default, only units
0 and 1 of each floppy controller are allowed. This is done because
certain non-standard hardware (ASUS PCI motherboards) mess up the
keyboard when accessing units 2 or 3. This option is somewhat
obsoleted by the cmos option.
floppy=all_drives
Sets the bitmask of allowed drives to all drives. Use this if you have more than two drives connected to a floppy controller.
floppy=asus_pci
Sets the bitmask to allow only units 0 and 1. (The default)
floppy=daring
Tells the floppy driver that you have a well behaved floppy controller. This allows more efficient and smoother operation, but may fail on certain controllers. This may speed up certain operations.
floppy=0,daring
Tells the floppy driver that your floppy controller should be used with caution.
floppy=one_fdc
Tells the floppy driver that you have only floppy controller (default)
floppy=two_fdc or floppy=address,two_fdc
Tells the floppy driver that you have two floppy controllers. The second floppy controller is assumed to be at address. If address is not given, 0x370 is assumed.
floppy=thinkpad
Tells the floppy driver that you have a Thinkpad. Thinkpads use an inverted convention for the disk change line.
floppy=0,thinkpad
Tells the floppy driver that you don't have a Thinkpad.
floppy=drive,type,cmos
Sets the cmos type of drive
to type
.
Additionally, this drive is
allowed in the bitmask. This is useful if you have more than two
floppy drives (only two can be described in the physical cmos), or if
your BIOS uses non-standard CMOS types.
Setting the CMOS to 0 for the first two drives (default) makes the
floppy driver read the physical cmos for those drives.
floppy=unexpected_interrupts
Print a warning message when an unexpected interrupt is received (default behaviour)
floppy=no_unexpected_interrupts or floppy=L40SX
Don't print a message when an unexpected interrupt is received. This is needed on IBM L40SX laptops in certain video modes. (There seems to be an interaction between video and floppy. The unexpected interrupts only affect performance, and can safely be ignored.)
The sound driver can also accept boot args to override the
compiled in values. This is not recommended, as it is
rather complex. It is (was?) described in the Readme.Linux
file, in linux/drivers/sound
. It accepts a boot arg
of the form:
sound=device1[,device2[,device3...[,device11]]]
where each deviceN
value is of the following format
0xTaaaId
and the bytes are used as follows:
T - device type: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16-MPU401
aaa - I/O address in hex.
I - interrupt line in hex (i.e 10=a, 11=b, ...)
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 `sound=0' will disable the sound driver entirely.
The busmouse driver only accepts one parameter, that being the hardware IRQ value to be used.
The MS mouse driver only accepts one parameter, that being the hardware IRQ value to be used.
As of kernels newer than 1.3.75, 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.
The format of the argument is multiple i/o, IRQ pairs. For example,
lp=0x3bc,0,0x378,7
would use the port at 0x3bc in IRQ-less
(polling) mode, and use IRQ 7 for the port at 0x378. The port
at 0x278 (if any) would not be probed, since autoprobing only
takes place in the absence of a `lp=' argument. To disable the
printer driver entirely, one can use lp=0
.
This ISDN driver expects a boot argument of the form:
icn=iobase,membase,icn_id1,icn_id2
where iobase
is the i/o port address of the card, membase
is the shared memory base address of the card, and the two
icn_id
are unique ASCII string identifiers.
This boot argument takes integer pair arguments of the form:
pcbit=membase1,irq1[,membase2,irq2]
where membaseN
is the shared memory base of the N'th card,
and irqN
is the interrupt setting of the N'th card. The
default is IRQ 5 and membase 0xD0000
.
This ISDN driver expects a boot argument of the form:
teles=iobase,irq,membase,protocol,teles_id
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 the card uses, and teles_id
is the
unique ASCII string identifier.
The DigiBoard driver accepts a string of six comma separated identifiers or integers. The 6 values in order are:
Enable/Disable this card Type of card: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3) Enable/Disable alternate pin arrangement Number of ports on this card I/O Port where card is configured (in HEX if using string identifiers) Base of memory window (in HEX if using string identifiers)
An example of a correct boot prompt argument (in both identifier and integer form) is:
digi=E,PC/Xi,D,16,200,D0000 digi=1,0,0,16,512,851968
Note that the driver defaults to an i/o of 0x200
and
a shared memory base of 0xD0000
in the absence of a digi=
boot argument. There is no
autoprobing performed. More details can be found in the file
linux/Documentation/digiboard.txt
.
Up to four boards can be supported by supplying four
unique i/o port values for each individual board installed.
Other details can be found in the file
linux/Documentation/riscom8.txt
.
The format of the boot argument for these devices is:
baycom=modem,io,irq,options[,modem,io,irq,options]
Using modem=1 means you have the ser12 device, modem=2 means
you have the par96 device. Using options=0 means use hardware DCD,
and options=1 means use software DCD. The io
and irq
are the i/o port base and interrupt settings as usual.
There is more details in the file README.baycom
which
is currently in the /linux/drivers/char/
directory.