]>
Commit | Line | Data |
---|---|---|
fea681da MK |
1 | .\" Copyright (c) 1995,1997 Paul Gortmaker and Andries Brouwer |
2 | .\" | |
1dd72f9c | 3 | .\" %%%LICENSE_START(GPLv2+_DOC_FULL) |
fea681da MK |
4 | .\" This is free documentation; you can redistribute it and/or |
5 | .\" modify it under the terms of the GNU General Public License as | |
6 | .\" published by the Free Software Foundation; either version 2 of | |
7 | .\" the License, or (at your option) any later version. | |
8 | .\" | |
9 | .\" The GNU General Public License's references to "object code" | |
10 | .\" and "executables" are to be interpreted as the output of any | |
11 | .\" document formatting or typesetting system, including | |
12 | .\" intermediate and printed output. | |
13 | .\" | |
14 | .\" This manual is distributed in the hope that it will be useful, | |
15 | .\" but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 | .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 | .\" GNU General Public License for more details. | |
18 | .\" | |
19 | .\" You should have received a copy of the GNU General Public | |
c715f741 MK |
20 | .\" License along with this manual; if not, see |
21 | .\" <http://www.gnu.org/licenses/>. | |
6a8d8745 | 22 | .\" %%%LICENSE_END |
fea681da MK |
23 | .\" |
24 | .\" This man page written 950814 by aeb, based on Paul Gortmaker's HOWTO | |
25 | .\" (dated v1.0.1, 15/08/95). | |
26 | .\" Major update, aeb, 970114. | |
27 | .\" | |
ad5b45ab | 28 | .TH BOOTPARAM 7 2014-06-13 "Linux" "Linux Programmer's Manual" |
fea681da | 29 | .SH NAME |
f68512e9 | 30 | bootparam \- introduction to boot time parameters of the Linux kernel |
fea681da | 31 | .SH DESCRIPTION |
76c44d83 | 32 | The Linux kernel accepts certain 'command-line options' or 'boot time |
c13182ef MK |
33 | parameters' at the moment it is started. |
34 | In general this is used to | |
fea681da MK |
35 | supply the kernel with information about hardware parameters that |
36 | the kernel would not be able to determine on its own, or to avoid/override | |
37 | the values that the kernel would otherwise detect. | |
38 | ||
39 | When the kernel is booted directly by the BIOS (say from a floppy to | |
40dedbfe | 40 | which you copied a kernel using 'cp zImage /dev/fd0'), |
fea681da MK |
41 | you have no opportunity to specify any parameters. |
42 | So, in order to take advantage of this possibility you have to | |
122a101a | 43 | use a boot loader that is able to pass parameters, such as GRUB. |
fea681da | 44 | |
18299dfc MK |
45 | .\" The LILO program (LInux LOader) written by Werner Almesberger is the |
46 | .\" most commonly used. | |
47 | .\" It has the ability to boot various kernels, and | |
48 | .\" stores the configuration information in a plain text file. | |
49 | .\" (See | |
50 | .\" .BR lilo (8) | |
51 | .\" and | |
52 | .\" .BR lilo.conf (5).) | |
53 | .\" LILO can boot DOS, OS/2, Linux, FreeBSD, UnixWare, etc., and is quite flexible. | |
51700fd7 | 54 | .\" |
18299dfc MK |
55 | .\" The other commonly used Linux loader is 'LoadLin', which is a DOS |
56 | .\" program that has the capability to launch a Linux kernel from the DOS | |
57 | .\" prompt (with boot-args) assuming that certain resources are available. | |
58 | .\" This is good for people that want to launch Linux from DOS. | |
51700fd7 | 59 | .\" |
18299dfc MK |
60 | .\" It is also very useful if you have certain hardware which relies on |
61 | .\" the supplied DOS driver to put the hardware into a known state. | |
62 | .\" A common example is 'SoundBlaster Compatible' sound cards that require | |
63 | .\" the DOS driver to twiddle a few mystical registers to put the card | |
64 | .\" into a SB compatible mode. | |
65 | .\" Booting DOS with the supplied driver, and | |
66 | .\" then loading Linux from the DOS prompt with loadlin avoids the reset | |
67 | .\" of the card that happens if one rebooted instead. | |
73d8cece | 68 | .SS The argument list |
fea681da | 69 | The kernel command line is parsed into a list of strings |
c13182ef | 70 | (boot arguments) separated by spaces. |
77bda21c MK |
71 | Most of the boot arguments take have the form: |
72 | ||
73 | .in +4n | |
74 | .nf | |
fea681da | 75 | name[=value_1][,value_2]...[,value_10] |
77bda21c MK |
76 | .fi |
77 | .in | |
fea681da | 78 | .LP |
40dedbfe | 79 | where 'name' is a unique keyword that is used to identify what part of |
fea681da | 80 | the kernel the associated values (if any) are to be given to. |
33a0ccb2 | 81 | Note the limit of 10 is real, as the present code handles only 10 comma |
c13182ef | 82 | separated parameters per keyword. |
3b777aff | 83 | (However, you can reuse the same |
fea681da MK |
84 | keyword with up to an additional 10 parameters in unusually |
85 | complicated situations, assuming the setup function supports it.) | |
86 | ||
e57fca5a MK |
87 | Most of the sorting is coded in the kernel source file |
88 | .IR init/main.c . | |
c13182ef | 89 | First, the kernel |
40dedbfe | 90 | checks to see if the argument is any of the special arguments 'root=', |
25715c96 | 91 | \&'nfsroot=', 'nfsaddrs=', 'ro', 'rw', 'debug' or 'init'. |
c13182ef | 92 | The meaning of these special arguments is described below. |
fea681da MK |
93 | |
94 | Then it walks a list of setup functions (contained in the bootsetups | |
40dedbfe MK |
95 | array) to see if the specified argument string (such as 'foo') has |
96 | been associated with a setup function ('foo_setup()') for a particular | |
c13182ef MK |
97 | device or part of the kernel. |
98 | If you passed the kernel the line | |
fea681da | 99 | foo=3,4,5,6 then the kernel would search the bootsetups array to see |
40dedbfe | 100 | if 'foo' was registered. |
c13182ef | 101 | If it was, then it would call the setup |
40dedbfe | 102 | function associated with 'foo' (foo_setup()) and hand it the arguments |
31df5734 | 103 | 3, 4, 5, and 6 as given on the kernel command line. |
fea681da | 104 | |
40dedbfe | 105 | Anything of the form 'foo=bar' that is not accepted as a setup function |
fea681da | 106 | as described above is then interpreted as an environment variable to |
c13182ef | 107 | be set. |
40dedbfe | 108 | A (useless?) example would be to use 'TERM=vt100' as a boot |
fea681da MK |
109 | argument. |
110 | ||
111 | Any remaining arguments that were not picked up by the kernel and were | |
112 | not interpreted as environment variables are then passed onto process | |
1aedd258 MK |
113 | one, which is usually the |
114 | .BR init (1) | |
115 | program. | |
c13182ef | 116 | The most common argument that |
1aedd258 MK |
117 | is passed to the |
118 | .I init | |
119 | process is the word 'single' which instructs it | |
fea681da | 120 | to boot the computer in single user mode, and not launch all the usual |
c13182ef | 121 | daemons. |
1aedd258 MK |
122 | Check the manual page for the version of |
123 | .BR init (1) | |
124 | installed on | |
fea681da | 125 | your system to see what arguments it accepts. |
76c637e1 | 126 | .SS General non-device-specific boot arguments |
bebbbd1f | 127 | .TP |
40dedbfe | 128 | .B "'init=...'" |
fea681da MK |
129 | This sets the initial command to be executed by the kernel. |
130 | If this is not set, or cannot be found, the kernel will try | |
5ce89119 MK |
131 | .IR /sbin/init , |
132 | then | |
fea681da MK |
133 | .IR /etc/init , |
134 | then | |
135 | .IR /bin/init , | |
136 | then | |
0daa9e92 | 137 | .I /bin/sh |
fea681da | 138 | and panic if all of this fails. |
bebbbd1f | 139 | .TP |
40dedbfe | 140 | .B "'nfsaddrs=...'" |
fea681da MK |
141 | This sets the nfs boot address to the given string. |
142 | This boot address is used in case of a net boot. | |
bebbbd1f | 143 | .TP |
40dedbfe | 144 | .B "'nfsroot=...'" |
c13182ef MK |
145 | This sets the nfs root name to the given string. |
146 | If this string | |
fea681da | 147 | does not begin with '/' or ',' or a digit, then it is prefixed by |
25715c96 | 148 | \&'/tftpboot/'. |
c13182ef | 149 | This root name is used in case of a net boot. |
bebbbd1f | 150 | .TP |
40dedbfe MK |
151 | .B "'no387'" |
152 | (Only when | |
153 | .B CONFIG_BUGi386 | |
154 | is defined.) | |
fea681da | 155 | Some i387 coprocessor chips have bugs that show up when used in 32 bit |
c13182ef MK |
156 | protected mode. |
157 | For example, some of the early ULSI-387 chips would | |
c45bd688 | 158 | cause solid lockups while performing floating-point calculations. |
77bda21c | 159 | Using the 'no387' boot argument causes Linux to ignore the maths |
c13182ef MK |
160 | coprocessor even if you have one. |
161 | Of course you must then have your | |
fea681da | 162 | kernel compiled with math emulation support! |
bebbbd1f | 163 | .TP |
40dedbfe MK |
164 | .B "'no-hlt'" |
165 | (Only when | |
166 | .B CONFIG_BUGi386 | |
167 | is defined.) | |
168 | Some of the early i486DX-100 chips have a problem with the 'hlt' | |
fea681da | 169 | instruction, in that they can't reliably return to operating mode |
c13182ef | 170 | after this instruction is used. |
40dedbfe | 171 | Using the 'no-hlt' instruction tells |
fea681da | 172 | Linux to just run an infinite loop when there is nothing else to do, |
c13182ef MK |
173 | and to not halt the CPU. |
174 | This allows people with these broken chips | |
fea681da | 175 | to use Linux. |
bebbbd1f | 176 | .TP |
40dedbfe | 177 | .B "'root=...'" |
fea681da | 178 | This argument tells the kernel what device is to be used as the root |
9ee4a2b6 | 179 | filesystem while booting. |
c13182ef | 180 | The default of this setting is determined |
fea681da | 181 | at compile time, and usually is the value of the root device of the |
c13182ef MK |
182 | system that the kernel was built on. |
183 | To override this value, and | |
fea681da | 184 | select the second floppy drive as the root device, one would |
6387216b | 185 | use 'root=/dev/fd1'. |
fea681da MK |
186 | |
187 | The root device can be specified symbolically or numerically. | |
e57fca5a | 188 | A symbolic specification has the form |
21e79503 | 189 | .IR /dev/XXYN , |
e57fca5a | 190 | where XX designates |
40dedbfe | 191 | the device type ('hd' for ST-506 compatible hard disk, with Y in |
25715c96 MK |
192 | \&'a'-'d'; 'sd' for SCSI compatible disk, with Y in 'a'-'e'; |
193 | \&'ad' for Atari ACSI disk, with Y in 'a'-'e', | |
194 | \&'ez' for a Syquest EZ135 parallel port removable drive, with Y='a', | |
195 | \&'xd' for XT compatible disk, with Y either 'a' or 'b'; 'fd' for | |
5503c85e | 196 | floppy disk, with Y the floppy drive number\(emfd0 would be |
40dedbfe | 197 | the DOS 'A:' drive, and fd1 would be 'B:'), Y the driver letter or |
fea681da | 198 | number, and N the number (in decimal) of the partition on this device |
c13182ef MK |
199 | (absent in the case of floppies). |
200 | Recent kernels allow many other | |
fea681da MK |
201 | types, mostly for CD-ROMs: nfs, ram, scd, mcd, cdu535, aztcd, cm206cd, |
202 | gscd, sbpcd, sonycd, bpcd. | |
203 | (The type nfs specifies a net boot; ram refers to a ram disk.) | |
204 | ||
205 | Note that this has nothing to do with the designation of these | |
9ee4a2b6 | 206 | devices on your filesystem. |
40dedbfe | 207 | The '/dev/' part is purely conventional. |
fea681da MK |
208 | |
209 | The more awkward and less portable numeric specification of the above | |
c13182ef | 210 | possible root devices in major/minor format is also accepted. |
59dc509c | 211 | (For example, |
e57fca5a MK |
212 | .I /dev/sda3 |
213 | is major 8, minor 3, so you could use 'root=0x803' as an | |
fea681da | 214 | alternative.) |
bebbbd1f | 215 | .TP |
1c137827 | 216 | .BR "'rootdelay='" |
91085d85 | 217 | This parameter sets the delay (in seconds) to pause before attempting |
1c137827 PG |
218 | to mount the root filesystem. |
219 | .TP | |
220 | .BR "'rootflags=...'" | |
ffe8d0b1 MK |
221 | This parameter sets the mount option string for the root filesystem |
222 | (see also | |
1c137827 PG |
223 | .BR fstab (5)). |
224 | .TP | |
6c8adf48 JLDL |
225 | .BR "'rootfstype=...'" |
226 | The 'rootfstype' option tells the kernel to mount the root filesystem as | |
227 | if it where of the type specified. | |
228 | This can be useful (for example) to | |
229 | mount an ext3 filesystem as ext2 and then remove the journal in the root | |
230 | filesystem, in fact reverting its format from ext3 to ext2 without the | |
231 | need to boot the box from alternate media. | |
232 | .TP | |
40dedbfe | 233 | .BR 'ro' " and " 'rw' |
9ee4a2b6 MK |
234 | The 'ro' option tells the kernel to mount the root filesystem |
235 | as 'read-only' so that filesystem consistency check programs (fsck) | |
236 | can do their work on a quiescent filesystem. | |
c13182ef | 237 | No processes can |
9ee4a2b6 | 238 | write to files on the filesystem in question until it is 'remounted' |
40dedbfe | 239 | as read/write capable, for example, by 'mount \-w \-n \-o remount /'. |
fea681da MK |
240 | (See also |
241 | .BR mount (8).) | |
242 | ||
9ee4a2b6 | 243 | The 'rw' option tells the kernel to mount the root filesystem read/write. |
fea681da MK |
244 | This is the default. |
245 | ||
bebbbd1f | 246 | .TP |
d11f367d AR |
247 | .B "'resume=...'" |
248 | This tells the kernel the location of the suspend-to-disk data that you want the machine to resume from after hibernation. | |
063692c0 MK |
249 | Usually, it is the same as your swap partition or file. |
250 | Example: | |
77bda21c MK |
251 | |
252 | .in +4n | |
253 | .nf | |
254 | resume=/dev/hda2 | |
255 | .fi | |
256 | .in | |
d11f367d | 257 | .TP |
40dedbfe | 258 | .B "'reserve=...'" |
c13182ef MK |
259 | This is used to protect I/O port regions from probes. |
260 | The form of the command is: | |
77bda21c MK |
261 | |
262 | .in +4n | |
263 | .nf | |
fea681da | 264 | .BI reserve= iobase,extent[,iobase,extent]... |
77bda21c MK |
265 | .fi |
266 | .in | |
bebbbd1f | 267 | .sp |
fea681da | 268 | In some machines it may be necessary to prevent device drivers from |
c13182ef MK |
269 | checking for devices (auto-probing) in a specific region. |
270 | This may be | |
fea681da MK |
271 | because of hardware that reacts badly to the probing, or hardware |
272 | that would be mistakenly identified, or merely | |
273 | hardware you don't want the kernel to initialize. | |
274 | ||
275 | The reserve boot-time argument specifies an I/O port region that | |
c13182ef MK |
276 | shouldn't be probed. |
277 | A device driver will not probe a reserved region, | |
fea681da MK |
278 | unless another boot argument explicitly specifies that it do so. |
279 | ||
280 | For example, the boot line | |
77bda21c MK |
281 | |
282 | .in +4n | |
283 | .nf | |
fea681da | 284 | reserve=0x300,32 blah=0x300 |
77bda21c MK |
285 | .fi |
286 | .in | |
bebbbd1f | 287 | .IP |
40dedbfe | 288 | keeps all device drivers except the driver for 'blah' from probing |
94e9d9fe | 289 | 0x300\-0x31f. |
bebbbd1f | 290 | .TP |
40dedbfe | 291 | .B "'mem=...'" |
fea681da | 292 | The BIOS call defined in the PC specification that returns |
33a0ccb2 | 293 | the amount of installed memory was designed only to be able |
c13182ef MK |
294 | to report up to 64MB. |
295 | Linux uses this BIOS call at boot to | |
296 | determine how much memory is installed. | |
297 | If you have more than 64MB of | |
77bda21c | 298 | RAM installed, you can use this boot argument to tell Linux how much memory |
c13182ef MK |
299 | you have. |
300 | The value is in decimal or hexadecimal (prefix 0x), | |
40dedbfe MK |
301 | and the suffixes 'k' (times 1024) or 'M' (times 1048576) can be used. |
302 | Here is a quote from Linus on usage of the 'mem=' parameter. | |
fea681da | 303 | |
324633ae | 304 | .in +0.5i |
40dedbfe | 305 | The kernel will accept any 'mem=xx' parameter you give it, and if it |
fea681da MK |
306 | turns out that you lied to it, it will crash horribly sooner or later. |
307 | The parameter indicates the highest addressable RAM address, so | |
40dedbfe MK |
308 | \&'mem=0x1000000' means you have 16MB of memory, for example. |
309 | For a 96MB machine this would be 'mem=0x6000000'. | |
fea681da | 310 | |
192e4f2e MK |
311 | .BR NOTE : |
312 | some machines might use the top of memory for BIOS | |
4f9d18f8 | 313 | caching or whatever, so you might not actually have up to the full |
c13182ef MK |
314 | 96MB addressable. |
315 | The reverse is also true: some chipsets will map | |
fea681da MK |
316 | the physical memory that is covered by the BIOS area into the area |
317 | just past the top of memory, so the top-of-mem might actually be 96MB | |
c13182ef MK |
318 | + 384kB for example. |
319 | If you tell linux that it has more memory than | |
fea681da | 320 | it actually does have, bad things will happen: maybe not at once, but |
324633ae MK |
321 | surely eventually. |
322 | .in | |
fea681da | 323 | |
40dedbfe | 324 | You can also use the boot argument 'mem=nopentium' to turn off 4 MB |
eb1af896 | 325 | page tables on kernels configured for IA32 systems with a pentium or newer |
441082ad | 326 | CPU. |
bebbbd1f | 327 | .TP |
40dedbfe | 328 | .B "'panic=N'" |
b9aee8fe | 329 | By default, the kernel will not reboot after a panic, but this option |
f7ceac86 | 330 | will cause a kernel reboot after N seconds (if N is greater than zero). |
77bda21c MK |
331 | This panic timeout can also be set by |
332 | ||
333 | .in +4n | |
334 | .nf | |
1322e836 | 335 | echo N > /proc/sys/kernel/panic |
77bda21c MK |
336 | .fi |
337 | .in | |
bebbbd1f | 338 | .TP |
40dedbfe MK |
339 | .B "'reboot=[warm|cold][,[bios|hard]]'" |
340 | (Only when | |
341 | .B CONFIG_BUGi386 | |
342 | is defined.) | |
fea681da | 343 | Since 2.0.22 a reboot is by default a cold reboot. |
40dedbfe | 344 | One asks for the old default with 'reboot=warm'. |
fea681da MK |
345 | (A cold reboot may be required to reset certain hardware, |
346 | but might destroy not yet written data in a disk cache. | |
347 | A warm reboot may be faster.) | |
b9aee8fe | 348 | By default, a reboot is hard, by asking the keyboard controller |
fea681da | 349 | to pulse the reset line low, but there is at least one type |
c13182ef | 350 | of motherboard where that doesn't work. |
40dedbfe | 351 | The option 'reboot=bios' will |
fea681da | 352 | instead jump through the BIOS. |
bebbbd1f | 353 | .TP |
40dedbfe | 354 | .BR 'nosmp' " and " 'maxcpus=N' |
fea681da | 355 | (Only when __SMP__ is defined.) |
40dedbfe MK |
356 | A command-line option of 'nosmp' or 'maxcpus=0' will disable SMP |
357 | activation entirely; an option 'maxcpus=N' limits the maximum number | |
fea681da | 358 | of CPUs activated in SMP mode to N. |
73d8cece | 359 | .SS Boot arguments for use by kernel developers |
bebbbd1f | 360 | .TP |
40dedbfe | 361 | .B "'debug'" |
fea681da | 362 | Kernel messages are handed off to the kernel log daemon klogd so that they |
c13182ef MK |
363 | may be logged to disk. |
364 | Messages with a priority above | |
fea681da | 365 | .I console_loglevel |
c13182ef | 366 | are also printed on the console. |
e57fca5a MK |
367 | (For these levels, see |
368 | .IR <linux/kernel.h> .) | |
b9aee8fe | 369 | By default, this variable is set to log anything more important than |
c13182ef MK |
370 | debug messages. |
371 | This boot argument will cause the kernel to also | |
fea681da MK |
372 | print the messages of DEBUG priority. |
373 | The console loglevel can also be set at run time via an option | |
c13182ef MK |
374 | to klogd. |
375 | See | |
fea681da | 376 | .BR klogd (8). |
bebbbd1f | 377 | .TP |
40dedbfe | 378 | .B "'profile=N'" |
fea681da MK |
379 | It is possible to enable a kernel profiling function, |
380 | if one wishes to find out where the kernel is spending its CPU cycles. | |
381 | Profiling is enabled by setting the variable | |
382 | .I prof_shift | |
c7094399 | 383 | to a nonzero value. |
40dedbfe MK |
384 | This is done either by specifying |
385 | .B CONFIG_PROFILE | |
386 | at compile time, or by giving the 'profile=' option. | |
fea681da MK |
387 | Now the value that |
388 | .I prof_shift | |
40dedbfe MK |
389 | gets will be N, when given, or |
390 | .BR CONFIG_PROFILE_SHIFT , | |
391 | when that is given, or 2, the default. | |
c13182ef | 392 | The significance of this variable is that it |
fea681da MK |
393 | gives the granularity of the profiling: each clock tick, if the |
394 | system was executing kernel code, a counter is incremented: | |
77bda21c MK |
395 | |
396 | .in +4n | |
397 | .nf | |
fea681da | 398 | profile[address >> prof_shift]++; |
77bda21c MK |
399 | .fi |
400 | .in | |
bebbbd1f | 401 | .sp |
fea681da MK |
402 | The raw profiling information can be read from |
403 | .IR /proc/profile . | |
404 | Probably you'll want to use a tool such as readprofile.c to digest it. | |
405 | Writing to | |
406 | .I /proc/profile | |
407 | will clear the counters. | |
bebbbd1f | 408 | .TP |
40dedbfe | 409 | .B "'swap=N1,N2,N3,N4,N5,N6,N7,N8'" |
fea681da MK |
410 | Set the eight parameters max_page_age, page_advance, page_decline, |
411 | page_initial_age, age_cluster_fract, age_cluster_min, pageout_weight, | |
412 | bufferout_weight that control the kernel swap algorithm. | |
413 | For kernel tuners only. | |
bebbbd1f | 414 | .TP |
40dedbfe | 415 | .B "'buff=N1,N2,N3,N4,N5,N6'" |
fea681da MK |
416 | Set the six parameters max_buff_age, buff_advance, buff_decline, |
417 | buff_initial_age, bufferout_weight, buffermem_grace that control | |
c13182ef MK |
418 | kernel buffer memory management. |
419 | For kernel tuners only. | |
73d8cece | 420 | .SS Boot arguments for ramdisk use |
40dedbfe MK |
421 | (Only if the kernel was compiled with |
422 | .BR CONFIG_BLK_DEV_RAM .) | |
5503c85e MK |
423 | In general it is a bad idea to use a ramdisk under Linux\(emthe |
424 | system will use available memory more efficiently itself. | |
fea681da MK |
425 | But while booting (or while constructing boot floppies) |
426 | it is often useful to load the floppy contents into a | |
c13182ef MK |
427 | ramdisk. |
428 | One might also have a system in which first | |
9ee4a2b6 | 429 | some modules (for filesystem or hardware) must be loaded |
fea681da MK |
430 | before the main disk can be accessed. |
431 | ||
432 | In Linux 1.3.48, ramdisk handling was changed drastically. | |
433 | Earlier, the memory was allocated statically, and there was | |
40dedbfe | 434 | a 'ramdisk=N' parameter to tell its size. |
421405f9 | 435 | (This could also be set in the kernel image at compile time.) |
fea681da | 436 | These days ram disks use the buffer cache, and grow dynamically. |
421405f9 | 437 | For a lot of information in conjunction with the new ramdisk |
22367af2 | 438 | setup, see the kernel source file |
51700fd7 | 439 | .IR Documentation/blockdev/ramdisk.txt |
e57fca5a MK |
440 | .RI ( Documentation/ramdisk.txt |
441 | in older kernels). | |
fea681da MK |
442 | |
443 | There are four parameters, two boolean and two integral. | |
bebbbd1f | 444 | .TP |
40dedbfe | 445 | .B "'load_ramdisk=N'" |
c13182ef MK |
446 | If N=1, do load a ramdisk. |
447 | If N=0, do not load a ramdisk. | |
fea681da | 448 | (This is the default.) |
bebbbd1f | 449 | .TP |
40dedbfe | 450 | .B "'prompt_ramdisk=N'" |
c13182ef MK |
451 | If N=1, do prompt for insertion of the floppy. |
452 | (This is the default.) | |
453 | If N=0, do not prompt. | |
454 | (Thus, this parameter is never needed.) | |
bebbbd1f | 455 | .TP |
40dedbfe | 456 | .BR 'ramdisk_size=N' " or (obsolete) " 'ramdisk=N' |
c13182ef MK |
457 | Set the maximal size of the ramdisk(s) to N kB. |
458 | The default is 4096 (4 MB). | |
bebbbd1f | 459 | .TP |
40dedbfe | 460 | .B "'ramdisk_start=N'" |
fea681da MK |
461 | Sets the starting block number (the offset on the floppy where |
462 | the ramdisk starts) to N. | |
463 | This is needed in case the ramdisk follows a kernel image. | |
bebbbd1f | 464 | .TP |
40dedbfe MK |
465 | .B "'noinitrd'" |
466 | (Only if the kernel was compiled with | |
467 | .B CONFIG_BLK_DEV_RAM | |
468 | and | |
469 | .BR CONFIG_BLK_DEV_INITRD .) | |
fea681da MK |
470 | These days it is possible to compile the kernel to use initrd. |
471 | When this feature is enabled, the boot process will load the kernel | |
472 | and an initial ramdisk; then the kernel converts initrd into | |
473 | a "normal" ramdisk, which is mounted read-write as root device; | |
e57fca5a MK |
474 | then |
475 | .I /linuxrc | |
9ee4a2b6 MK |
476 | is executed; afterward the "real" root filesystem is mounted, |
477 | and the initrd filesystem is moved over to | |
e57fca5a MK |
478 | .IR /initrd ; |
479 | finally | |
480 | the usual boot sequence (e.g., invocation of | |
481 | .IR /sbin/init ) | |
482 | is performed. | |
fea681da | 483 | |
e57fca5a MK |
484 | For a detailed description of the initrd feature, see the kernel source file |
485 | .IR Documentation/initrd.txt . | |
fea681da | 486 | |
40dedbfe | 487 | The 'noinitrd' option tells the kernel that although it was compiled for |
fea681da MK |
488 | operation with initrd, it should not go through the above steps, but |
489 | leave the initrd data under | |
490 | .IR /dev/initrd . | |
4d9b6984 | 491 | (This device can be used only once: the data is freed as soon as |
fea681da MK |
492 | the last process that used it has closed |
493 | .IR /dev/initrd .) | |
73d8cece | 494 | .SS Boot arguments for SCSI devices |
fea681da MK |
495 | General notation for this section: |
496 | ||
497 | .I iobase | |
c13182ef MK |
498 | -- the first I/O port that the SCSI host occupies. |
499 | These are specified in hexadecimal notation, | |
500 | and usually lie in the range from 0x200 to 0x3ff. | |
fea681da MK |
501 | |
502 | .I irq | |
503 | -- the hardware interrupt that the card is configured to use. | |
504 | Valid values will be dependent on the card in question, but will | |
c13182ef MK |
505 | usually be 5, 7, 9, 10, 11, 12, and 15. |
506 | The other values are usually | |
fea681da | 507 | used for common peripherals like IDE hard disks, floppies, serial |
fb3969cd | 508 | ports, and so on. |
fea681da MK |
509 | |
510 | .I scsi-id | |
511 | -- the ID that the host adapter uses to identify itself on the | |
c13182ef MK |
512 | SCSI bus. |
513 | Only some host adapters allow you to change this value, as | |
514 | most have it permanently specified internally. | |
515 | The usual default value | |
fea681da MK |
516 | is 7, but the Seagate and Future Domain TMC-950 boards use 6. |
517 | ||
518 | .I parity | |
519 | -- whether the SCSI host adapter expects the attached devices | |
c13182ef MK |
520 | to supply a parity value with all information exchanges. |
521 | Specifying a one indicates parity checking is enabled, | |
522 | and a zero disables parity checking. | |
523 | Again, not all adapters will support selection of parity | |
d9bfdb9c | 524 | behavior as a boot argument. |
bebbbd1f | 525 | .TP |
40dedbfe | 526 | .B "'max_scsi_luns=...'" |
310672d6 | 527 | A SCSI device can have a number of 'subdevices' contained within |
c13182ef MK |
528 | itself. |
529 | The most common example is one of the new SCSI CD-ROMs that | |
530 | handle more than one disk at a time. | |
531 | Each CD is addressed as a | |
25715c96 | 532 | \&'Logical Unit Number' (LUN) of that particular device. |
c13182ef | 533 | But most |
fea681da MK |
534 | devices, such as hard disks, tape drives and such are only one device, |
535 | and will be assigned to LUN zero. | |
536 | ||
537 | Some poorly designed SCSI devices cannot handle being probed for | |
c13182ef | 538 | LUNs not equal to zero. |
29aceda4 | 539 | Therefore, if the compile-time flag |
40dedbfe | 540 | .B CONFIG_SCSI_MULTI_LUN |
e0a06014 | 541 | is not set, newer kernels will by default probe only LUN zero. |
fea681da MK |
542 | |
543 | To specify the number of probed LUNs at boot, one enters | |
25715c96 | 544 | \&'max_scsi_luns=n' as a boot arg, where n is a number between one and |
c13182ef MK |
545 | eight. |
546 | To avoid problems as described above, one would use n=1 to | |
fea681da | 547 | avoid upsetting such broken devices. |
bebbbd1f MK |
548 | .TP |
549 | .B "SCSI tape configuration" | |
fea681da MK |
550 | Some boot time configuration of the SCSI tape driver can be achieved |
551 | by using the following: | |
77bda21c MK |
552 | |
553 | .in +4n | |
554 | .nf | |
fea681da | 555 | .BI st= buf_size[,write_threshold[,max_bufs]] |
77bda21c MK |
556 | .fi |
557 | .in | |
bebbbd1f | 558 | .sp |
c13182ef MK |
559 | The first two numbers are specified in units of kB. |
560 | The default | |
fea681da MK |
561 | .I buf_size |
562 | is 32kB, and the maximum size that can be specified is a | |
c13182ef MK |
563 | ridiculous 16384kB. |
564 | The | |
fea681da MK |
565 | .I write_threshold |
566 | is the value at which the buffer is committed to tape, with a | |
c13182ef MK |
567 | default value of 30kB. |
568 | The maximum number of buffers varies | |
fea681da MK |
569 | with the number of drives detected, and has a default of two. |
570 | An example usage would be: | |
77bda21c MK |
571 | |
572 | .in +4n | |
573 | .nf | |
fea681da | 574 | st=32,30,2 |
77bda21c MK |
575 | .fi |
576 | .in | |
bebbbd1f | 577 | .IP |
4568d084 MK |
578 | Full details can be found in the file |
579 | .I Documentation/scsi/st.txt | |
580 | (or | |
581 | .I drivers/scsi/README.st | |
66a9882e | 582 | for older kernels) in the Linux kernel source. |
73d8cece | 583 | .SS Hard disks |
bebbbd1f MK |
584 | .TP |
585 | .B "IDE Disk/CD-ROM Driver Parameters" | |
fea681da | 586 | The IDE driver accepts a number of parameters, which range from disk |
c13182ef | 587 | geometry specifications, to support for broken controller chips. |
e2badfdf | 588 | Drive-specific options are specified by using 'hdX=' with X in 'a'-'h'. |
fea681da | 589 | |
e2badfdf MK |
590 | Non-drive-specific options are specified with the prefix 'hd='. |
591 | Note that using a drive-specific prefix for a non-drive-specific option | |
fea681da MK |
592 | will still work, and the option will just be applied as expected. |
593 | ||
40dedbfe | 594 | Also note that 'hd=' can be used to refer to the next unspecified |
c13182ef MK |
595 | drive in the (a, ..., h) sequence. |
596 | For the following discussions, | |
40dedbfe | 597 | the 'hd=' option will be cited for brevity. |
c13182ef | 598 | See the file |
0eb9025a | 599 | .I Documentation/ide/ide.txt |
4568d084 | 600 | (or |
0eb9025a MK |
601 | .I Documentation/ide.txt |
602 | .\" Linux 2.0, 2.2, 2.4 | |
603 | in older kernels, or | |
4568d084 | 604 | .I drivers/block/README.ide |
0eb9025a | 605 | in ancient kernels) in the Linux kernel source for more details. |
bebbbd1f | 606 | .TP |
40dedbfe | 607 | .B "The 'hd=cyls,heads,sects[,wpcom[,irq]]' options" |
fea681da | 608 | These options are used to specify the physical geometry of the disk. |
c13182ef MK |
609 | Only the first three values are required. |
610 | The cylinder/head/sectors | |
611 | values will be those used by fdisk. | |
612 | The write precompensation value | |
613 | is ignored for IDE disks. | |
614 | The IRQ value specified will be the IRQ | |
fea681da | 615 | used for the interface that the drive resides on, and is not really a |
e2badfdf | 616 | drive-specific parameter. |
bebbbd1f | 617 | .TP |
40dedbfe | 618 | .B "The 'hd=serialize' option" |
fea681da MK |
619 | The dual IDE interface CMD-640 chip is broken as designed such that |
620 | when drives on the secondary interface are used at the same time as | |
c13182ef MK |
621 | drives on the primary interface, it will corrupt your data. |
622 | Using this | |
fea681da MK |
623 | option tells the driver to make sure that both interfaces are never |
624 | used at the same time. | |
bebbbd1f | 625 | .TP |
40dedbfe | 626 | .B "The 'hd=dtc2278' option" |
fea681da | 627 | This option tells the driver that you have a DTC-2278D IDE interface. |
e2badfdf | 628 | The driver then tries to do DTC-specific operations to enable the |
fea681da | 629 | second interface and to enable faster transfer modes. |
bebbbd1f | 630 | .TP |
40dedbfe | 631 | .B "The 'hd=noprobe' option" |
c13182ef MK |
632 | Do not probe for this drive. |
633 | For example, | |
77bda21c MK |
634 | |
635 | .in +4n | |
636 | .nf | |
fea681da | 637 | hdb=noprobe hdb=1166,7,17 |
77bda21c MK |
638 | .fi |
639 | .in | |
bebbbd1f | 640 | .IP |
fea681da MK |
641 | would disable the probe, but still specify the drive geometry so |
642 | that it would be registered as a valid block device, and hence | |
643 | usable. | |
bebbbd1f | 644 | .TP |
40dedbfe MK |
645 | .B "The 'hd=nowerr' option" |
646 | Some drives apparently have the | |
647 | .B WRERR_STAT | |
648 | bit stuck on permanently. | |
fea681da | 649 | This enables a work-around for these broken devices. |
bebbbd1f | 650 | .TP |
40dedbfe | 651 | .B "The 'hd=cdrom' option" |
fea681da | 652 | This tells the IDE driver that there is an ATAPI compatible CD-ROM |
c13182ef MK |
653 | attached in place of a normal IDE hard disk. |
654 | In most cases the CD-ROM | |
fea681da | 655 | is identified automatically, but if it isn't then this may help. |
bebbbd1f | 656 | .TP |
40dedbfe | 657 | .B "Standard ST-506 Disk Driver Options ('hd=')" |
fea681da | 658 | The standard disk driver can accept geometry arguments for the disks |
c13182ef | 659 | similar to the IDE driver. |
33a0ccb2 | 660 | Note however that it expects only three |
c13182ef | 661 | values (C/H/S); any more or any less and it will silently ignore you. |
33a0ccb2 | 662 | Also, it accepts only 'hd=' as an argument, that is, 'hda=' |
c13182ef MK |
663 | and so on are not valid here. |
664 | The format is as follows: | |
77bda21c MK |
665 | |
666 | .in +4n | |
667 | .nf | |
fea681da | 668 | hd=cyls,heads,sects |
77bda21c MK |
669 | .fi |
670 | .in | |
bebbbd1f | 671 | .IP |
fea681da MK |
672 | If there are two disks installed, the above is repeated with the |
673 | geometry parameters of the second disk. | |
bebbbd1f | 674 | .TP |
40dedbfe | 675 | .B "XT Disk Driver Options ('xd=')" |
1be0d829 MK |
676 | If you are unfortunate enough to be using one of these old 8-bit cards |
677 | that move data at a whopping 125kB/s, then here is the scoop. | |
77bda21c MK |
678 | If the card is not recognized, |
679 | you will have to use a boot argument of the form: | |
680 | ||
681 | .in +4n | |
682 | .nf | |
fea681da | 683 | xd=type,irq,iobase,dma_chan |
77bda21c MK |
684 | .fi |
685 | .in | |
bebbbd1f | 686 | .IP |
fea681da | 687 | The type value specifies the particular manufacturer of the card, |
c13182ef MK |
688 | overriding autodetection. |
689 | For the types to use, consult the | |
fea681da | 690 | .I drivers/block/xd.c |
c13182ef MK |
691 | source file of the kernel you are using. |
692 | The type is an index in the list | |
fea681da MK |
693 | .I xd_sigs |
694 | and in the course of time | |
695 | .\" 1.1.50, 1.3.81, 1.3.99, 2.0.34, 2.1.67, 2.1.78, 2.1.127 | |
696 | types have been added to or deleted from the middle of the list, | |
c13182ef MK |
697 | changing all type numbers. |
698 | Today (Linux 2.5.0) the types are | |
fea681da MK |
699 | 0=generic; 1=DTC 5150cx; 2,3=DTC 5150x; 4,5=Western Digital; |
700 | 6,7,8=Seagate; 9=Omti; 10=XEBEC, and where here several types are | |
701 | given with the same designation, they are equivalent. | |
702 | ||
703 | The xd_setup() function does no checking on the values, and assumes | |
c13182ef MK |
704 | that you entered all four values. |
705 | Don't disappoint it. | |
706 | Here is an | |
fea681da | 707 | example usage for a WD1002 controller with the BIOS disabled/removed, |
40dedbfe | 708 | using the 'default' XT controller parameters: |
77bda21c MK |
709 | |
710 | .in +4n | |
711 | .nf | |
fea681da | 712 | xd=2,5,0x320,3 |
77bda21c MK |
713 | .fi |
714 | .in | |
bebbbd1f MK |
715 | .TP |
716 | .B "Syquest's EZ* removable disks" | |
77bda21c MK |
717 | Syntax: |
718 | ||
719 | .in +4n | |
720 | .nf | |
fea681da | 721 | .BI ez= iobase[,irq[,rep[,nybble]]] |
77bda21c MK |
722 | .fi |
723 | .in | |
73d8cece | 724 | .SS Ethernet devices |
fea681da | 725 | Different drivers make use of different parameters, but they all at |
c13182ef MK |
726 | least share having an IRQ, an I/O port base value, and a name. |
727 | In its most generic form, it looks something like this: | |
77bda21c MK |
728 | |
729 | .in +4n | |
730 | .nf | |
fea681da | 731 | ether=irq,iobase[,param_1[,...param_8]],name |
77bda21c MK |
732 | .fi |
733 | .in | |
734 | ||
80c9146c | 735 | The first nonnumeric argument is taken as the name. |
c13182ef MK |
736 | The param_n values (if applicable) usually have different meanings for each |
737 | different card/driver. | |
738 | Typical param_n values are used to specify | |
fea681da MK |
739 | things like shared memory address, interface selection, DMA channel |
740 | and the like. | |
741 | ||
742 | The most common use of this parameter is to force probing for a second | |
33a0ccb2 | 743 | ethercard, as the default is to probe only for one. |
c13182ef | 744 | This can be accomplished with a simple: |
77bda21c MK |
745 | |
746 | .in +4n | |
747 | .nf | |
fea681da | 748 | ether=0,0,eth1 |
77bda21c MK |
749 | .fi |
750 | .in | |
751 | ||
fea681da MK |
752 | Note that the values of zero for the IRQ and I/O base in the above |
753 | example tell the driver(s) to autoprobe. | |
754 | ||
755 | The Ethernet-HowTo has extensive documentation on using multiple | |
e2badfdf | 756 | cards and on the card/driver-specific implementation |
c13182ef MK |
757 | of the param_n values where used. |
758 | Interested readers should refer to | |
fea681da | 759 | the section in that document on their particular card. |
73d8cece | 760 | .SS The floppy disk driver |
fea681da | 761 | There are many floppy driver options, and they are all listed in |
4568d084 MK |
762 | .I Documentation/floppy.txt |
763 | (or | |
764 | .I drivers/block/README.fd | |
66a9882e | 765 | for older kernels) in the Linux kernel source. |
c13182ef | 766 | This information is taken directly |
fea681da | 767 | from that file. |
bebbbd1f MK |
768 | .TP |
769 | .B "floppy=mask,allowed_drive_mask" | |
10f5f294 | 770 | Sets the bit mask of allowed drives to mask. |
c13182ef MK |
771 | By default, only units 0 |
772 | and 1 of each floppy controller are allowed. | |
773 | This is done because | |
c8f2dd47 | 774 | certain nonstandard hardware (ASUS PCI motherboards) mess up the |
c13182ef MK |
775 | keyboard when accessing units 2 or 3. |
776 | This option is somewhat | |
fea681da | 777 | obsoleted by the cmos option. |
bebbbd1f MK |
778 | .TP |
779 | .B "floppy=all_drives" | |
10f5f294 | 780 | Sets the bit mask of allowed drives to all drives. |
c13182ef | 781 | Use this if you have |
fea681da | 782 | more than two drives connected to a floppy controller. |
bebbbd1f MK |
783 | .TP |
784 | .B "floppy=asus_pci" | |
6387216b MK |
785 | Sets the bit mask to allow only units 0 and 1. |
786 | (The default) | |
bebbbd1f MK |
787 | .TP |
788 | .B "floppy=daring" | |
fea681da | 789 | Tells the floppy driver that you have a well behaved floppy |
c13182ef MK |
790 | controller. |
791 | This allows more efficient and smoother operation, but | |
792 | may fail on certain controllers. | |
793 | This may speed up certain operations. | |
bebbbd1f MK |
794 | .TP |
795 | .B "floppy=0,daring" | |
fea681da MK |
796 | Tells the floppy driver that your floppy controller should be used |
797 | with caution. | |
bebbbd1f MK |
798 | .TP |
799 | .B "floppy=one_fdc" | |
fea681da | 800 | Tells the floppy driver that you have only floppy controller (default) |
bebbbd1f | 801 | .TP |
40dedbfe | 802 | .BR floppy=two_fdc " or " floppy=address,two_fdc |
c13182ef MK |
803 | Tells the floppy driver that you have two floppy controllers. |
804 | The second floppy controller is assumed to be at address. | |
805 | If address is | |
fea681da | 806 | not given, 0x370 is assumed. |
bebbbd1f MK |
807 | .TP |
808 | .B "floppy=thinkpad" | |
c13182ef MK |
809 | Tells the floppy driver that you have a Thinkpad. |
810 | Thinkpads use an | |
fea681da | 811 | inverted convention for the disk change line. |
bebbbd1f MK |
812 | .TP |
813 | .B "floppy=0,thinkpad" | |
fea681da | 814 | Tells the floppy driver that you don't have a Thinkpad. |
bebbbd1f MK |
815 | .TP |
816 | .B "floppy=drive,type,cmos" | |
c13182ef MK |
817 | Sets the cmos type of drive to type. |
818 | Additionally, this drive is | |
10f5f294 | 819 | allowed in the bit mask. |
c13182ef | 820 | This is useful if you have more than two |
fea681da | 821 | floppy drives (only two can be described in the physical cmos), or if |
c8f2dd47 | 822 | your BIOS uses nonstandard CMOS types. |
c13182ef | 823 | Setting the CMOS to 0 for the |
fea681da MK |
824 | first two drives (default) makes the floppy driver read the physical |
825 | cmos for those drives. | |
bebbbd1f MK |
826 | .TP |
827 | .B "floppy=unexpected_interrupts" | |
fea681da | 828 | Print a warning message when an unexpected interrupt is received |
d9bfdb9c | 829 | (default behavior) |
bebbbd1f | 830 | .TP |
40dedbfe | 831 | .BR floppy=no_unexpected_interrupts " or " floppy=L40SX |
c13182ef MK |
832 | Don't print a message when an unexpected interrupt is received. |
833 | This is needed on IBM L40SX laptops in certain video modes. | |
834 | (There seems to | |
835 | be an interaction between video and floppy. | |
836 | The unexpected interrupts | |
fea681da | 837 | only affect performance, and can safely be ignored.) |
73d8cece | 838 | .SS The sound driver |
77bda21c | 839 | The sound driver can also accept boot arguments to override the compiled in |
c13182ef MK |
840 | values. |
841 | This is not recommended, as it is rather complex. | |
66a9882e | 842 | It is described in the Linux kernel source file |
ef505ff0 MK |
843 | .IR Documentation/sound/oss/README.OSS |
844 | .RI ( drivers/sound/Readme.linux | |
845 | in older kernel versions). | |
c13182ef | 846 | It accepts |
77bda21c MK |
847 | a boot argument of the form: |
848 | ||
849 | .in +4n | |
850 | .nf | |
fea681da | 851 | sound=device1[,device2[,device3...[,device10]]] |
77bda21c MK |
852 | .fi |
853 | .in | |
bebbbd1f | 854 | .IP |
fea681da MK |
855 | where each deviceN value is of the following format 0xTaaaId and the |
856 | bytes are used as follows: | |
857 | ||
4d9b6984 | 858 | T \- device type: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, |
fea681da MK |
859 | 7=SB16-MPU401 |
860 | ||
4d9b6984 | 861 | aaa \- I/O address in hex. |
fea681da | 862 | |
4d9b6984 | 863 | I \- interrupt line in hex (i.e 10=a, 11=b, ...) |
fea681da | 864 | |
4d9b6984 | 865 | d \- DMA channel. |
fea681da MK |
866 | |
867 | As you can see it gets pretty messy, and you are better off to compile | |
c13182ef | 868 | in your own personal values as recommended. |
77bda21c | 869 | Using a boot argument of |
25715c96 | 870 | \&'sound=0' will disable the sound driver entirely. |
73d8cece | 871 | .SS ISDN drivers |
bebbbd1f MK |
872 | .TP |
873 | .B "The ICN ISDN driver" | |
fea681da | 874 | Syntax: |
77bda21c MK |
875 | |
876 | .in +4n | |
877 | .nf | |
fea681da | 878 | icn=iobase,membase,icn_id1,icn_id2 |
77bda21c MK |
879 | .fi |
880 | .in | |
bebbbd1f | 881 | .IP |
fea681da MK |
882 | where icn_id1,icn_id2 are two strings used to identify the |
883 | card in kernel messages. | |
bebbbd1f MK |
884 | .TP |
885 | .B "The PCBIT ISDN driver" | |
fea681da | 886 | Syntax: |
77bda21c MK |
887 | |
888 | .in +4n | |
889 | .nf | |
fea681da | 890 | pcbit=membase1,irq1[,membase2,irq2] |
77bda21c MK |
891 | .fi |
892 | .in | |
bebbbd1f | 893 | .IP |
fea681da | 894 | where membaseN is the shared memory base of the N'th card, and irqN is |
c13182ef MK |
895 | the interrupt setting of the N'th card. |
896 | The default is IRQ 5 and | |
fea681da | 897 | membase 0xD0000. |
bebbbd1f MK |
898 | .TP |
899 | .B "The Teles ISDN driver" | |
fea681da | 900 | Syntax: |
77bda21c MK |
901 | |
902 | .in +4n | |
903 | .nf | |
fea681da | 904 | teles=iobase,irq,membase,protocol,teles_id |
77bda21c MK |
905 | .fi |
906 | .in | |
bebbbd1f | 907 | .IP |
e57fca5a | 908 | where iobase is the I/O port address of the card, membase is the |
fea681da MK |
909 | shared memory base address of the card, irq is the interrupt channel |
910 | the card uses, and teles_id is the unique ASCII string identifier. | |
73d8cece | 911 | .SS Serial port drivers |
bebbbd1f | 912 | .TP |
40dedbfe | 913 | .B "The RISCom/8 Multiport Serial Driver ('riscom8=')" |
fea681da | 914 | Syntax: |
77bda21c MK |
915 | |
916 | .in +4n | |
917 | .nf | |
fea681da | 918 | riscom=iobase1[,iobase2[,iobase3[,iobase4]]] |
77bda21c MK |
919 | .fi |
920 | .in | |
bebbbd1f | 921 | .IP |
e57fca5a MK |
922 | More details can be found in the kernel source file |
923 | .IR Documentation/riscom8.txt . | |
bebbbd1f | 924 | .TP |
40dedbfe | 925 | .B "The DigiBoard Driver ('digi=')" |
fea681da MK |
926 | If this option is used, it should have precisely six parameters. |
927 | Syntax: | |
77bda21c MK |
928 | |
929 | .in +4n | |
930 | .nf | |
fea681da | 931 | digi=status,type,altpin,numports,iobase,membase |
77bda21c MK |
932 | .fi |
933 | .in | |
bebbbd1f | 934 | .IP |
fea681da MK |
935 | The parameters maybe given as integers, or as strings. |
936 | If strings are used, then iobase and membase should be given | |
937 | in hexadecimal. | |
938 | The integer arguments (fewer may be given) are in order: | |
939 | status (Enable(1) or Disable(0) this card), | |
940 | type (PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)), | |
941 | altpin (Enable(1) or Disable(0) alternate pin arrangement), | |
942 | numports (number of ports on this card), | |
943 | iobase (I/O Port where card is configured (in HEX)), | |
944 | membase (base of memory window (in HEX)). | |
945 | Thus, the following two boot prompt arguments are equivalent: | |
77bda21c MK |
946 | |
947 | .in +4n | |
948 | .nf | |
fea681da | 949 | digi=E,PC/Xi,D,16,200,D0000 |
fea681da | 950 | digi=1,0,0,16,0x200,851968 |
77bda21c MK |
951 | .fi |
952 | .in | |
bebbbd1f | 953 | .IP |
e57fca5a MK |
954 | More details can be found in the kernel source file |
955 | .IR Documentation/digiboard.txt . | |
bebbbd1f MK |
956 | .TP |
957 | .B "The Baycom Serial/Parallel Radio Modem" | |
fea681da | 958 | Syntax: |
77bda21c MK |
959 | |
960 | .in +4n | |
961 | .nf | |
fea681da | 962 | baycom=iobase,irq,modem |
77bda21c MK |
963 | .fi |
964 | .in | |
bebbbd1f | 965 | .IP |
fea681da | 966 | There are precisely 3 parameters; for several cards, give |
40dedbfe | 967 | several 'baycom=' commands. |
c13182ef | 968 | The modem parameter is a string |
fea681da MK |
969 | that can take one of the values ser12, ser12*, par96, par96*. |
970 | Here the * denotes that software DCD is to be used, and | |
971 | ser12/par96 chooses between the supported modem types. | |
4568d084 MK |
972 | For more details, see the file |
973 | .I Documentation/networking/baycom.txt | |
974 | (or | |
975 | .I drivers/net/README.baycom | |
66a9882e | 976 | for older kernels) in the Linux kernel source. |
bebbbd1f MK |
977 | .TP |
978 | .B "Soundcard radio modem driver" | |
fea681da | 979 | Syntax: |
77bda21c MK |
980 | |
981 | .in +4n | |
982 | .nf | |
fea681da | 983 | soundmodem=iobase,irq,dma[,dma2[,serio[,pario]]],0,mode |
77bda21c MK |
984 | .fi |
985 | .in | |
bebbbd1f | 986 | .IP |
fea681da MK |
987 | All parameters except the last are integers; |
988 | the dummy 0 is required because of a bug in the setup code. | |
989 | The mode parameter is a string with syntax hw:modem, | |
31df5734 MK |
990 | where hw is one of sbc, wss, or wssfdx, and modem is one of |
991 | afsk1200 or fsk9600. | |
73d8cece | 992 | .SS The line printer driver |
bebbbd1f | 993 | .TP |
40dedbfe | 994 | .B "'lp='" |
77bda21c | 995 | .br |
fea681da | 996 | Syntax: |
77bda21c MK |
997 | |
998 | .in +4n | |
999 | .nf | |
fea681da | 1000 | lp=0 |
fea681da | 1001 | lp=auto |
fea681da | 1002 | lp=reset |
fea681da | 1003 | lp=port[,port...] |
77bda21c MK |
1004 | .fi |
1005 | .in | |
bebbbd1f | 1006 | .IP |
fea681da | 1007 | You can tell the printer driver what ports to use and what ports not |
c13182ef MK |
1008 | to use. |
1009 | The latter comes in handy if you don't want the printer driver | |
fea681da | 1010 | to claim all available parallel ports, so that other drivers |
75b94dc3 | 1011 | (e.g., PLIP, PPA) can use them instead. |
fea681da | 1012 | |
c13182ef MK |
1013 | The format of the argument is multiple port names. |
1014 | For example, | |
fea681da | 1015 | lp=none,parport0 would use the first parallel port for lp1, and |
c13182ef MK |
1016 | disable lp0. |
1017 | To disable the printer driver entirely, one can use | |
fea681da | 1018 | lp=0. |
bebbbd1f MK |
1019 | .TP |
1020 | .B "WDT500/501 driver" | |
fea681da | 1021 | Syntax: |
77bda21c MK |
1022 | |
1023 | .in +4n | |
1024 | .nf | |
fea681da | 1025 | wdt=io,irq |
77bda21c MK |
1026 | .fi |
1027 | .in | |
73d8cece | 1028 | .SS Mouse drivers |
bebbbd1f | 1029 | .TP |
40dedbfe | 1030 | .B "'bmouse=irq'" |
33a0ccb2 | 1031 | The busmouse driver accepts only one parameter, that being the |
fea681da | 1032 | hardware IRQ value to be used. |
bebbbd1f | 1033 | .TP |
40dedbfe | 1034 | .B "'msmouse=irq'" |
fea681da | 1035 | And precisely the same is true for the msmouse driver. |
bebbbd1f MK |
1036 | .TP |
1037 | .B "ATARI mouse setup" | |
77bda21c MK |
1038 | Syntax: |
1039 | ||
1040 | .in +4n | |
1041 | .nf | |
fea681da | 1042 | atamouse=threshold[,y-threshold] |
77bda21c MK |
1043 | .fi |
1044 | .in | |
fea681da MK |
1045 | .IP |
1046 | If only one argument is given, it is used for both | |
c13182ef MK |
1047 | x-threshold and y-threshold. |
1048 | Otherwise, the first argument | |
fea681da MK |
1049 | is the x-threshold, and the second the y-threshold. |
1050 | These values must lie between 1 and 20 (inclusive); the default is 2. | |
73d8cece | 1051 | .SS Video hardware |
bebbbd1f | 1052 | .TP |
40dedbfe | 1053 | .B "'no-scroll'" |
fea681da MK |
1054 | This option tells the console driver not to use hardware scroll |
1055 | (where a scroll is effected by moving the screen origin in video | |
c13182ef MK |
1056 | memory, instead of moving the data). |
1057 | It is required by certain | |
fea681da | 1058 | Braille machines. |
fd7f0a7f MK |
1059 | .\" .SH AUTHORS |
1060 | .\" Linus Torvalds (and many others) | |
47297adb | 1061 | .SH SEE ALSO |
fea681da | 1062 | .BR klogd (8), |
421405f9 | 1063 | .BR mount (8) |
fea681da MK |
1064 | |
1065 | Large parts of this man page have been derived from the | |
1066 | Boot Parameter HOWTO (version 1.0.1) written by Paul Gortmaker. | |
1067 | More information may be found in this (or a more recent) HOWTO. | |
e57fca5a MK |
1068 | An up-to-date source of information is the kernel source file |
1069 | .IR Documentation/kernel-parameters.txt . |