← Documents Documentation/arch/m68k/kernel-options.rst GitHub 원문 ↗

Linux 6.18.37 · Architecture

Command Line Options for Linux/m68k

Linux/m68k 2.2.6 기준 공통·Atari·Amiga boot option의 syntax, default와 hardware 제약을 정리합니다.

Source pathDocumentation/arch/m68k/kernel-options.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약과 해설

kernel-options.rst:1-911

이 문서는 일반 root/debug option과 legacy M68K device parameter를 한 곳에 모읍니다. 현재 kernel에서는 일부가 폐기됐을 수 있지만, bootloader와 old hardware bring-up을 해석할 때 option syntax와 historical default를 그대로 보존하는 것이 중요합니다.

Command-line argument 분류
Boot argumentKernel-known option?Kernel/driver
Unknown + `=``init` environment
Unknown without `=``init` argument

Kernel이 argument를 어떤 소비자에게 보낼지 결정하는 순서입니다.

Platform option 분기
GeneralRoot/debugCommon device
Atari`atafb`/external videoIKBD/floppy/SCSI/switches
Amiga`amifb` 계열WD33C93/GVP DMA

공통 option 뒤 machine family별 framebuffer와 SCSI 설정이 갈라집니다.

가장 위험한 legacy 설정
Option위험권장
`root=<hex>`잘못된 major/minorPARTUUID 또는 최신 kernel parameter 확인
`external:`Memory/register address 오기입Board manual과 pre-boot mode 확인
`gvp11=`예측 불가능한 DMADriver auto-detection 사용

자동 검출이나 hardware 문서를 우선해야 하는 option입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 ===================================
2 Command Line Options for Linux/m68k
3 ===================================
4
5 Last Update: 2 May 1999
6
7 Linux/m68k version: 2.2.6
8
9 Author: [email protected] (Roman Hodek)
10
11 Update: [email protected] (Jes Sorensen) and [email protected] (Chris Lawrence)
12
13 0) Introduction
14 ===============
15
16 Often I've been asked which command line options the Linux/m68k
17 kernel understands, or how the exact syntax for the ... option is, or
18 ... about the option ... . I hope, this document supplies all the
19 answers...
20
21 Note that some options might be outdated, their descriptions being
22 incomplete or missing. Please update the information and send in the
23 patches.
24
25
26 1) Overview of the Kernel's Option Processing
27 =============================================
28
29 The kernel knows three kinds of options on its command line:
30
31 1) kernel options
32 2) environment settings
33 3) arguments for init
34
35 To which of these classes an argument belongs is determined as
36 follows: If the option is known to the kernel itself, i.e. if the name
37 (the part before the '=') or, in some cases, the whole argument string
38 is known to the kernel, it belongs to class 1. Otherwise, if the
39 argument contains an '=', it is of class 2, and the definition is put
40 into init's environment. All other arguments are passed to init as
41 command line options.
42
43 This document describes the valid kernel options for Linux/m68k in
44 the version mentioned at the start of this file. Later revisions may
45 add new such options, and some may be missing in older versions.
46
47 In general, the value (the part after the '=') of an option is a
48 list of values separated by commas. The interpretation of these values
49 is up to the driver that "owns" the option. This association of
50 options with drivers is also the reason that some are further
51 subdivided.
52
53
54 2) General Kernel Options
55 =========================
56
57 2.1) root=
58 ----------
59
60 :Syntax: root=/dev/<device>
61 :or: root=<hex_number>
62
63 This tells the kernel which device it should mount as the root
64 filesystem. The device must be a block device with a valid filesystem
65 on it.
66
67 The first syntax gives the device by name. These names are converted
68 into a major/minor number internally in the kernel in an unusual way.
69 Normally, this "conversion" is done by the device files in /dev, but
70 this isn't possible here, because the root filesystem (with /dev)
71 isn't mounted yet... So the kernel parses the name itself, with some
72 hardcoded name to number mappings. The name must always be a
73 combination of two or three letters, followed by a decimal number.
74 Valid names are::
75
76 /dev/ram: -> 0x0100 (initial ramdisk)
77 /dev/hda: -> 0x0300 (first IDE disk)
78 /dev/hdb: -> 0x0340 (second IDE disk)
79 /dev/sda: -> 0x0800 (first SCSI disk)
80 /dev/sdb: -> 0x0810 (second SCSI disk)
81 /dev/sdc: -> 0x0820 (third SCSI disk)
82 /dev/sdd: -> 0x0830 (forth SCSI disk)
83 /dev/sde: -> 0x0840 (fifth SCSI disk)
84 /dev/fd : -> 0x0200 (floppy disk)
85
86 The name must be followed by a decimal number, that stands for the
87 partition number. Internally, the value of the number is just
88 added to the device number mentioned in the table above. The
89 exceptions are /dev/ram and /dev/fd, where /dev/ram refers to an
90 initial ramdisk loaded by your bootstrap program (please consult the
91 instructions for your bootstrap program to find out how to load an
92 initial ramdisk). As of kernel version 2.0.18 you must specify
93 /dev/ram as the root device if you want to boot from an initial
94 ramdisk. For the floppy devices, /dev/fd, the number stands for the
95 floppy drive number (there are no partitions on floppy disks). I.e.,
96 /dev/fd0 stands for the first drive, /dev/fd1 for the second, and so
97 on. Since the number is just added, you can also force the disk format
98 by adding a number greater than 3. If you look into your /dev
99 directory, use can see the /dev/fd0D720 has major 2 and minor 16. You
100 can specify this device for the root FS by writing "root=/dev/fd16" on
101 the kernel command line.
102
103 [Strange and maybe uninteresting stuff ON]
104
105 This unusual translation of device names has some strange
106 consequences: If, for example, you have a symbolic link from /dev/fd
107 to /dev/fd0D720 as an abbreviation for floppy driver #0 in DD format,
108 you cannot use this name for specifying the root device, because the
109 kernel cannot see this symlink before mounting the root FS and it
110 isn't in the table above. If you use it, the root device will not be
111 set at all, without an error message. Another example: You cannot use a
112 partition on e.g. the sixth SCSI disk as the root filesystem, if you
113 want to specify it by name. This is, because only the devices up to
114 /dev/sde are in the table above, but not /dev/sdf. Although, you can
115 use the sixth SCSI disk for the root FS, but you have to specify the
116 device by number... (see below). Or, even more strange, you can use the
117 fact that there is no range checking of the partition number, and your
118 knowledge that each disk uses 16 minors, and write "root=/dev/sde17"
119 (for /dev/sdf1).
120
121 [Strange and maybe uninteresting stuff OFF]
122
123 If the device containing your root partition isn't in the table
124 above, you can also specify it by major and minor numbers. These are
125 written in hex, with no prefix and no separator between. E.g., if you
126 have a CD with contents appropriate as a root filesystem in the first
127 SCSI CD-ROM drive, you boot from it by "root=0b00". Here, hex "0b" =
128 decimal 11 is the major of SCSI CD-ROMs, and the minor 0 stands for
129 the first of these. You can find out all valid major numbers by
130 looking into include/linux/major.h.
131
132 In addition to major and minor numbers, if the device containing your
133 root partition uses a partition table format with unique partition
134 identifiers, then you may use them. For instance,
135 "root=PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF". It is also
136 possible to reference another partition on the same device using a
137 known partition UUID as the starting point. For example,
138 if partition 5 of the device has the UUID of
139 00112233-4455-6677-8899-AABBCCDDEEFF then partition 3 may be found as
140 follows:
141
142 PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=-2
143
144 Authoritative information can be found in
145 "Documentation/admin-guide/kernel-parameters.rst".
146
147
148 2.2) ro, rw
149 -----------
150
151 :Syntax: ro
152 :or: rw
153
154 These two options tell the kernel whether it should mount the root
155 filesystem read-only or read-write. The default is read-only, except
156 for ramdisks, which default to read-write.
157
158
159 2.3) debug
160 ----------
161
162 :Syntax: debug
163
164 This raises the kernel log level to 10 (the default is 7). This is the
165 same level as set by the "dmesg" command, just that the maximum level
166 selectable by dmesg is 8.
167
168
169 2.4) debug=
170 -----------
171
172 :Syntax: debug=<device>
173
174 This option causes certain kernel messages be printed to the selected
175 debugging device. This can aid debugging the kernel, since the
176 messages can be captured and analyzed on some other machine. Which
177 devices are possible depends on the machine type. There are no checks
178 for the validity of the device name. If the device isn't implemented,
179 nothing happens.
180
181 Messages logged this way are in general stack dumps after kernel
182 memory faults or bad kernel traps, and kernel panics. To be exact: all
183 messages of level 0 (panic messages) and all messages printed while
184 the log level is 8 or more (their level doesn't matter). Before stack
185 dumps, the kernel sets the log level to 10 automatically. A level of
186 at least 8 can also be set by the "debug" command line option (see
187 2.3) and at run time with "dmesg -n 8".
188
189 Devices possible for Amiga:
190
191 - "ser":
192 built-in serial port; parameters: 9600bps, 8N1
193 - "mem":
194 Save the messages to a reserved area in chip mem. After
195 rebooting, they can be read under AmigaOS with the tool
196 'dmesg'.
197
198 Devices possible for Atari:
199
200 - "ser1":
201 ST-MFP serial port ("Modem1"); parameters: 9600bps, 8N1
202 - "ser2":
203 SCC channel B serial port ("Modem2"); parameters: 9600bps, 8N1
204 - "ser" :
205 default serial port
206 This is "ser2" for a Falcon, and "ser1" for any other machine
207 - "midi":
208 The MIDI port; parameters: 31250bps, 8N1
209 - "par" :
210 parallel port
211
212 The printing routine for this implements a timeout for the
213 case there's no printer connected (else the kernel would
214 lock up). The timeout is not exact, but usually a few
215 seconds.
216
217
218 2.6) ramdisk_size=
219 ------------------
220
221 :Syntax: ramdisk_size=<size>
222
223 This option instructs the kernel to set up a ramdisk of the given
224 size in KBytes. Do not use this option if the ramdisk contents are
225 passed by bootstrap! In this case, the size is selected automatically
226 and should not be overwritten.
227
228 The only application is for root filesystems on floppy disks, that
229 should be loaded into memory. To do that, select the corresponding
230 size of the disk as ramdisk size, and set the root device to the disk
231 drive (with "root=").
232
233
234 2.7) swap=
235
236 I can't find any sign of this option in 2.2.6.
237
238 2.8) buff=
239 -----------
240
241 I can't find any sign of this option in 2.2.6.
242
243
244 3) General Device Options (Amiga and Atari)
245 ===========================================
246
247 3.1) ether=
248 -----------
249
250 :Syntax: ether=[<irq>[,<base_addr>[,<mem_start>[,<mem_end>]]]],<dev-name>
251
252 <dev-name> is the name of a net driver, as specified in
253 drivers/net/Space.c in the Linux source. Most prominent are eth0, ...
254 eth3, sl0, ... sl3, ppp0, ..., ppp3, dummy, and lo.
255
256 The non-ethernet drivers (sl, ppp, dummy, lo) obviously ignore the
257 settings by this options. Also, the existing ethernet drivers for
258 Linux/m68k (ariadne, a2065, hydra) don't use them because Zorro boards
259 are really Plug-'n-Play, so the "ether=" option is useless altogether
260 for Linux/m68k.
261
262
263 3.2) hd=
264 --------
265
266 :Syntax: hd=<cylinders>,<heads>,<sectors>
267
268 This option sets the disk geometry of an IDE disk. The first hd=
269 option is for the first IDE disk, the second for the second one.
270 (I.e., you can give this option twice.) In most cases, you won't have
271 to use this option, since the kernel can obtain the geometry data
272 itself. It exists just for the case that this fails for one of your
273 disks.
274
275
276 3.3) max_scsi_luns=
277 -------------------
278
279 :Syntax: max_scsi_luns=<n>
280
281 Sets the maximum number of LUNs (logical units) of SCSI devices to
282 be scanned. Valid values for <n> are between 1 and 8. Default is 8 if
283 "Probe all LUNs on each SCSI device" was selected during the kernel
284 configuration, else 1.
285
286
287 3.4) st=
288 --------
289
290 :Syntax: st=<buffer_size>,[<write_thres>,[<max_buffers>]]
291
292 Sets several parameters of the SCSI tape driver. <buffer_size> is
293 the number of 512-byte buffers reserved for tape operations for each
294 device. <write_thres> sets the number of blocks which must be filled
295 to start an actual write operation to the tape. Maximum value is the
296 total number of buffers. <max_buffer> limits the total number of
297 buffers allocated for all tape devices.
298
299
300 3.5) dmasound=
301 --------------
302
303 :Syntax: dmasound=[<buffers>,<buffer-size>[,<catch-radius>]]
304
305 This option controls some configurations of the Linux/m68k DMA sound
306 driver (Amiga and Atari): <buffers> is the number of buffers you want
307 to use (minimum 4, default 4), <buffer-size> is the size of each
308 buffer in kilobytes (minimum 4, default 32) and <catch-radius> says
309 how much percent of error will be tolerated when setting a frequency
310 (maximum 10, default 0). For example with 3% you can play 8000Hz
311 AU-Files on the Falcon with its hardware frequency of 8195Hz and thus
312 don't need to expand the sound.
313
314
315
316 4) Options for Atari Only
317 =========================
318
319 4.1) video=
320 -----------
321
322 :Syntax: video=<fbname>:<sub-options...>
323
324 The <fbname> parameter specifies the name of the frame buffer,
325 eg. most atari users will want to specify `atafb` here. The
326 <sub-options> is a comma-separated list of the sub-options listed
327 below.
328
329 NB:
330 Please notice that this option was renamed from `atavideo` to
331 `video` during the development of the 1.3.x kernels, thus you
332 might need to update your boot-scripts if upgrading to 2.x from
333 an 1.2.x kernel.
334
335 NBB:
336 The behavior of video= was changed in 2.1.57 so the recommended
337 option is to specify the name of the frame buffer.
338
339 4.1.1) Video Mode
340 -----------------
341
342 This sub-option may be any of the predefined video modes, as listed
343 in atari/atafb.c in the Linux/m68k source tree. The kernel will
344 activate the given video mode at boot time and make it the default
345 mode, if the hardware allows. Currently defined names are:
346
347 - stlow : 320x200x4
348 - stmid, default5 : 640x200x2
349 - sthigh, default4: 640x400x1
350 - ttlow : 320x480x8, TT only
351 - ttmid, default1 : 640x480x4, TT only
352 - tthigh, default2: 1280x960x1, TT only
353 - vga2 : 640x480x1, Falcon only
354 - vga4 : 640x480x2, Falcon only
355 - vga16, default3 : 640x480x4, Falcon only
356 - vga256 : 640x480x8, Falcon only
357 - falh2 : 896x608x1, Falcon only
358 - falh16 : 896x608x4, Falcon only
359
360 If no video mode is given on the command line, the kernel tries the
361 modes names "default<n>" in turn, until one is possible with the
362 hardware in use.
363
364 A video mode setting doesn't make sense, if the external driver is
365 activated by a "external:" sub-option.
366
367 4.1.2) inverse
368 --------------
369
370 Invert the display. This affects only text consoles.
371 Usually, the background is chosen to be black. With this
372 option, you can make the background white.
373
374 4.1.3) font
375 -----------
376
377 :Syntax: font:<fontname>
378
379 Specify the font to use in text modes. Currently you can choose only
380 between `VGA8x8`, `VGA8x16` and `PEARL8x8`. `VGA8x8` is default, if the
381 vertical size of the display is less than 400 pixel rows. Otherwise, the
382 `VGA8x16` font is the default.
383
384 4.1.4) `hwscroll_`
385 ------------------
386
387 :Syntax: `hwscroll_<n>`
388
389 The number of additional lines of video memory to reserve for
390 speeding up the scrolling ("hardware scrolling"). Hardware scrolling
391 is possible only if the kernel can set the video base address in steps
392 fine enough. This is true for STE, MegaSTE, TT, and Falcon. It is not
393 possible with plain STs and graphics cards (The former because the
394 base address must be on a 256 byte boundary there, the latter because
395 the kernel doesn't know how to set the base address at all.)
396
397 By default, <n> is set to the number of visible text lines on the
398 display. Thus, the amount of video memory is doubled, compared to no
399 hardware scrolling. You can turn off the hardware scrolling altogether
400 by setting <n> to 0.
401
402 4.1.5) internal:
403 ----------------
404
405 :Syntax: internal:<xres>;<yres>[;<xres_max>;<yres_max>;<offset>]
406
407 This option specifies the capabilities of some extended internal video
408 hardware, like e.g. OverScan. <xres> and <yres> give the (extended)
409 dimensions of the screen.
410
411 If your OverScan needs a black border, you have to write the last
412 three arguments of the "internal:". <xres_max> is the maximum line
413 length the hardware allows, <yres_max> the maximum number of lines.
414 <offset> is the offset of the visible part of the screen memory to its
415 physical start, in bytes.
416
417 Often, extended interval video hardware has to be activated somehow.
418 For this, see the "sw_*" options below.
419
420 4.1.6) external:
421 ----------------
422
423 :Syntax:
424 external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase>
425 [;<colw>[;<coltype>[;<xres_virtual>]]]]]
426
427 .. I had to break this line...
428
429 This is probably the most complicated parameter... It specifies that
430 you have some external video hardware (a graphics board), and how to
431 use it under Linux/m68k. The kernel cannot know more about the hardware
432 than you tell it here! The kernel also is unable to set or change any
433 video modes, since it doesn't know about any board internal. So, you
434 have to switch to that video mode before you start Linux, and cannot
435 switch to another mode once Linux has started.
436
437 The first 3 parameters of this sub-option should be obvious: <xres>,
438 <yres> and <depth> give the dimensions of the screen and the number of
439 planes (depth). The depth is the logarithm to base 2 of the number
440 of colors possible. (Or, the other way round: The number of colors is
441 2^depth).
442
443 You have to tell the kernel furthermore how the video memory is
444 organized. This is done by a letter as <org> parameter:
445
446 'n':
447 "normal planes", i.e. one whole plane after another
448 'i':
449 "interleaved planes", i.e. 16 bit of the first plane, than 16 bit
450 of the next, and so on... This mode is used only with the
451 built-in Atari video modes, I think there is no card that
452 supports this mode.
453 'p':
454 "packed pixels", i.e. <depth> consecutive bits stand for all
455 planes of one pixel; this is the most common mode for 8 planes
456 (256 colors) on graphic cards
457 't':
458 "true color" (more or less packed pixels, but without a color
459 lookup table); usually depth is 24
460
461 For monochrome modes (i.e., <depth> is 1), the <org> letter has a
462 different meaning:
463
464 'n':
465 normal colors, i.e. 0=white, 1=black
466 'i':
467 inverted colors, i.e. 0=black, 1=white
468
469 The next important information about the video hardware is the base
470 address of the video memory. That is given in the <scrmem> parameter,
471 as a hexadecimal number with a "0x" prefix. You have to find out this
472 address in the documentation of your hardware.
473
474 The next parameter, <scrlen>, tells the kernel about the size of the
475 video memory. If it's missing, the size is calculated from <xres>,
476 <yres>, and <depth>. For now, it is not useful to write a value here.
477 It would be used only for hardware scrolling (which isn't possible
478 with the external driver, because the kernel cannot set the video base
479 address), or for virtual resolutions under X (which the X server
480 doesn't support yet). So, it's currently best to leave this field
481 empty, either by ending the "external:" after the video address or by
482 writing two consecutive semicolons, if you want to give a <vgabase>
483 (it is allowed to leave this parameter empty).
484
485 The <vgabase> parameter is optional. If it is not given, the kernel
486 cannot read or write any color registers of the video hardware, and
487 thus you have to set appropriate colors before you start Linux. But if
488 your card is somehow VGA compatible, you can tell the kernel the base
489 address of the VGA register set, so it can change the color lookup
490 table. You have to look up this address in your board's documentation.
491 To avoid misunderstandings: <vgabase> is the _base_ address, i.e. a 4k
492 aligned address. For read/writing the color registers, the kernel
493 uses the addresses vgabase+0x3c7...vgabase+0x3c9. The <vgabase>
494 parameter is written in hexadecimal with a "0x" prefix, just as
495 <scrmem>.
496
497 <colw> is meaningful only if <vgabase> is specified. It tells the
498 kernel how wide each of the color register is, i.e. the number of bits
499 per single color (red/green/blue). Default is 6, another quite usual
500 value is 8.
501
502 Also <coltype> is used together with <vgabase>. It tells the kernel
503 about the color register model of your gfx board. Currently, the types
504 "vga" (which is also the default) and "mv300" (SANG MV300) are
505 implemented.
506
507 Parameter <xres_virtual> is required for ProMST or ET4000 cards where
508 the physical linelength differs from the visible length. With ProMST,
509 xres_virtual must be set to 2048. For ET4000, xres_virtual depends on the
510 initialisation of the video-card.
511 If you're missing a corresponding yres_virtual: the external part is legacy,
512 therefore we don't support hardware-dependent functions like hardware-scroll,
513 panning or blanking.
514
515 4.1.7) eclock:
516 --------------
517
518 The external pixel clock attached to the Falcon VIDEL shifter. This
519 currently works only with the ScreenWonder!
520
521 4.1.8) monitorcap:
522 -------------------
523
524 :Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
525
526 This describes the capabilities of a multisync monitor. Don't use it
527 with a fixed-frequency monitor! For now, only the Falcon frame buffer
528 uses the settings of "monitorcap:".
529
530 <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
531 your monitor can work with, in Hz. <hmin> and <hmax> are the same for
532 the horizontal frequency, in kHz.
533
534 The defaults are 58;62;31;32 (VGA compatible).
535
536 The defaults for TV/SC1224/SC1435 cover both PAL and NTSC standards.
537
538 4.1.9) keep
539 ------------
540
541 If this option is given, the framebuffer device doesn't do any video
542 mode calculations and settings on its own. The only Atari fb device
543 that does this currently is the Falcon.
544
545 What you reach with this: Settings for unknown video extensions
546 aren't overridden by the driver, so you can still use the mode found
547 when booting, when the driver doesn't know to set this mode itself.
548 But this also means, that you can't switch video modes anymore...
549
550 An example where you may want to use "keep" is the ScreenBlaster for
551 the Falcon.
552
553
554 4.2) atamouse=
555 --------------
556
557 :Syntax: atamouse=<x-threshold>,[<y-threshold>]
558
559 With this option, you can set the mouse movement reporting threshold.
560 This is the number of pixels of mouse movement that have to accumulate
561 before the IKBD sends a new mouse packet to the kernel. Higher values
562 reduce the mouse interrupt load and thus reduce the chance of keyboard
563 overruns. Lower values give a slightly faster mouse responses and
564 slightly better mouse tracking.
565
566 You can set the threshold in x and y separately, but usually this is
567 of little practical use. If there's just one number in the option, it
568 is used for both dimensions. The default value is 2 for both
569 thresholds.
570
571
572 4.3) ataflop=
573 -------------
574
575 :Syntax: ataflop=<drive type>[,<trackbuffering>[,<steprateA>[,<steprateB>]]]
576
577 The drive type may be 0, 1, or 2, for DD, HD, and ED, resp. This
578 setting affects how many buffers are reserved and which formats are
579 probed (see also below). The default is 1 (HD). Only one drive type
580 can be selected. If you have two disk drives, select the "better"
581 type.
582
583 The second parameter <trackbuffer> tells the kernel whether to use
584 track buffering (1) or not (0). The default is machine-dependent:
585 no for the Medusa and yes for all others.
586
587 With the two following parameters, you can change the default
588 steprate used for drive A and B, resp.
589
590
591 4.4) atascsi=
592 -------------
593
594 :Syntax: atascsi=<can_queue>[,<cmd_per_lun>[,<scat-gat>[,<host-id>[,<tagged>]]]]
595
596 This option sets some parameters for the Atari native SCSI driver.
597 Generally, any number of arguments can be omitted from the end. And
598 for each of the numbers, a negative value means "use default". The
599 defaults depend on whether TT-style or Falcon-style SCSI is used.
600 Below, defaults are noted as n/m, where the first value refers to
601 TT-SCSI and the latter to Falcon-SCSI. If an illegal value is given
602 for one parameter, an error message is printed and that one setting is
603 ignored (others aren't affected).
604
605 <can_queue>:
606 This is the maximum number of SCSI commands queued internally to the
607 Atari SCSI driver. A value of 1 effectively turns off the driver
608 internal multitasking (if it causes problems). Legal values are >=
609 1. <can_queue> can be as high as you like, but values greater than
610 <cmd_per_lun> times the number of SCSI targets (LUNs) you have
611 don't make sense. Default: 16/8.
612
613 <cmd_per_lun>:
614 Maximum number of SCSI commands issued to the driver for one
615 logical unit (LUN, usually one SCSI target). Legal values start
616 from 1. If tagged queuing (see below) is not used, values greater
617 than 2 don't make sense, but waste memory. Otherwise, the maximum
618 is the number of command tags available to the driver (currently
619 32). Default: 8/1. (Note: Values > 1 seem to cause problems on a
620 Falcon, cause not yet known.)
621
622 The <cmd_per_lun> value at a great part determines the amount of
623 memory SCSI reserves for itself. The formula is rather
624 complicated, but I can give you some hints:
625
626 no scatter-gather:
627 cmd_per_lun * 232 bytes
628 full scatter-gather:
629 cmd_per_lun * approx. 17 Kbytes
630
631 <scat-gat>:
632 Size of the scatter-gather table, i.e. the number of requests
633 consecutive on the disk that can be merged into one SCSI command.
634 Legal values are between 0 and 255. Default: 255/0. Note: This
635 value is forced to 0 on a Falcon, since scatter-gather isn't
636 possible with the ST-DMA. Not using scatter-gather hurts
637 performance significantly.
638
639 <host-id>:
640 The SCSI ID to be used by the initiator (your Atari). This is
641 usually 7, the highest possible ID. Every ID on the SCSI bus must
642 be unique. Default: determined at run time: If the NV-RAM checksum
643 is valid, and bit 7 in byte 30 of the NV-RAM is set, the lower 3
644 bits of this byte are used as the host ID. (This method is defined
645 by Atari and also used by some TOS HD drivers.) If the above
646 isn't given, the default ID is 7. (both, TT and Falcon).
647
648 <tagged>:
649 0 means turn off tagged queuing support, all other values > 0 mean
650 use tagged queuing for targets that support it. Default: currently
651 off, but this may change when tagged queuing handling has been
652 proved to be reliable.
653
654 Tagged queuing means that more than one command can be issued to
655 one LUN, and the SCSI device itself orders the requests so they
656 can be performed in optimal order. Not all SCSI devices support
657 tagged queuing (:-().
658
659 4.5 switches=
660 -------------
661
662 :Syntax: switches=<list of switches>
663
664 With this option you can switch some hardware lines that are often
665 used to enable/disable certain hardware extensions. Examples are
666 OverScan, overclocking, ...
667
668 The <list of switches> is a comma-separated list of the following
669 items:
670
671 ikbd:
672 set RTS of the keyboard ACIA high
673 midi:
674 set RTS of the MIDI ACIA high
675 snd6:
676 set bit 6 of the PSG port A
677 snd7:
678 set bit 6 of the PSG port A
679
680 It doesn't make sense to mention a switch more than once (no
681 difference to only once), but you can give as many switches as you
682 want to enable different features. The switch lines are set as early
683 as possible during kernel initialization (even before determining the
684 present hardware.)
685
686 All of the items can also be prefixed with `ov_`, i.e. `ov_ikbd`,
687 `ov_midi`, ... These options are meant for switching on an OverScan
688 video extension. The difference to the bare option is that the
689 switch-on is done after video initialization, and somehow synchronized
690 to the HBLANK. A speciality is that ov_ikbd and ov_midi are switched
691 off before rebooting, so that OverScan is disabled and TOS boots
692 correctly.
693
694 If you give an option both, with and without the `ov_` prefix, the
695 earlier initialization (`ov_`-less) takes precedence. But the
696 switching-off on reset still happens in this case.
697
698 5) Options for Amiga Only:
699 ==========================
700
701 5.1) video=
702 -----------
703
704 :Syntax: video=<fbname>:<sub-options...>
705
706 The <fbname> parameter specifies the name of the frame buffer, valid
707 options are `amifb`, `cyber`, 'virge', `retz3` and `clgen`, provided
708 that the respective frame buffer devices have been compiled into the
709 kernel (or compiled as loadable modules). The behavior of the <fbname>
710 option was changed in 2.1.57 so it is now recommended to specify this
711 option.
712
713 The <sub-options> is a comma-separated list of the sub-options listed
714 below. This option is organized similar to the Atari version of the
715 "video"-option (4.1), but knows fewer sub-options.
716
717 5.1.1) video mode
718 -----------------
719
720 Again, similar to the video mode for the Atari (see 4.1.1). Predefined
721 modes depend on the used frame buffer device.
722
723 OCS, ECS and AGA machines all use the color frame buffer. The following
724 predefined video modes are available:
725
726 NTSC modes:
727 - ntsc : 640x200, 15 kHz, 60 Hz
728 - ntsc-lace : 640x400, 15 kHz, 60 Hz interlaced
729
730 PAL modes:
731 - pal : 640x256, 15 kHz, 50 Hz
732 - pal-lace : 640x512, 15 kHz, 50 Hz interlaced
733
734 ECS modes:
735 - multiscan : 640x480, 29 kHz, 57 Hz
736 - multiscan-lace : 640x960, 29 kHz, 57 Hz interlaced
737 - euro36 : 640x200, 15 kHz, 72 Hz
738 - euro36-lace : 640x400, 15 kHz, 72 Hz interlaced
739 - euro72 : 640x400, 29 kHz, 68 Hz
740 - euro72-lace : 640x800, 29 kHz, 68 Hz interlaced
741 - super72 : 800x300, 23 kHz, 70 Hz
742 - super72-lace : 800x600, 23 kHz, 70 Hz interlaced
743 - dblntsc-ff : 640x400, 27 kHz, 57 Hz
744 - dblntsc-lace : 640x800, 27 kHz, 57 Hz interlaced
745 - dblpal-ff : 640x512, 27 kHz, 47 Hz
746 - dblpal-lace : 640x1024, 27 kHz, 47 Hz interlaced
747 - dblntsc : 640x200, 27 kHz, 57 Hz doublescan
748 - dblpal : 640x256, 27 kHz, 47 Hz doublescan
749
750 VGA modes:
751 - vga : 640x480, 31 kHz, 60 Hz
752 - vga70 : 640x400, 31 kHz, 70 Hz
753
754 Please notice that the ECS and VGA modes require either an ECS or AGA
755 chipset, and that these modes are limited to 2-bit color for the ECS
756 chipset and 8-bit color for the AGA chipset.
757
758 5.1.2) depth
759 ------------
760
761 :Syntax: depth:<nr. of bit-planes>
762
763 Specify the number of bit-planes for the selected video-mode.
764
765 5.1.3) inverse
766 --------------
767
768 Use inverted display (black on white). Functionally the same as the
769 "inverse" sub-option for the Atari.
770
771 5.1.4) font
772 -----------
773
774 :Syntax: font:<fontname>
775
776 Specify the font to use in text modes. Functionally the same as the
777 "font" sub-option for the Atari, except that `PEARL8x8` is used instead
778 of `VGA8x8` if the vertical size of the display is less than 400 pixel
779 rows.
780
781 5.1.5) monitorcap:
782 -------------------
783
784 :Syntax: monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
785
786 This describes the capabilities of a multisync monitor. For now, only
787 the color frame buffer uses the settings of "monitorcap:".
788
789 <vmin> and <vmax> are the minimum and maximum, resp., vertical frequencies
790 your monitor can work with, in Hz. <hmin> and <hmax> are the same for
791 the horizontal frequency, in kHz.
792
793 The defaults are 50;90;15;38 (Generic Amiga multisync monitor).
794
795
796 5.2) fd_def_df0=
797 ----------------
798
799 :Syntax: fd_def_df0=<value>
800
801 Sets the df0 value for "silent" floppy drives. The value should be in
802 hexadecimal with "0x" prefix.
803
804
805 5.3) wd33c93=
806 -------------
807
808 :Syntax: wd33c93=<sub-options...>
809
810 These options affect the A590/A2091, A3000 and GVP Series II SCSI
811 controllers.
812
813 The <sub-options> is a comma-separated list of the sub-options listed
814 below.
815
816 5.3.1) nosync
817 -------------
818
819 :Syntax: nosync:bitmask
820
821 bitmask is a byte where the 1st 7 bits correspond with the 7
822 possible SCSI devices. Set a bit to prevent sync negotiation on that
823 device. To maintain backwards compatibility, a command-line such as
824 "wd33c93=255" will be automatically translated to
825 "wd33c93=nosync:0xff". The default is to disable sync negotiation for
826 all devices, eg. nosync:0xff.
827
828 5.3.2) period
829 -------------
830
831 :Syntax: period:ns
832
833 `ns` is the minimum # of nanoseconds in a SCSI data transfer
834 period. Default is 500; acceptable values are 250 - 1000.
835
836 5.3.3) disconnect
837 -----------------
838
839 :Syntax: disconnect:x
840
841 Specify x = 0 to never allow disconnects, 2 to always allow them.
842 x = 1 does 'adaptive' disconnects, which is the default and generally
843 the best choice.
844
845 5.3.4) debug
846 ------------
847
848 :Syntax: debug:x
849
850 If `DEBUGGING_ON` is defined, x is a bit mask that causes various
851 types of debug output to printed - see the DB_xxx defines in
852 wd33c93.h.
853
854 5.3.5) clock
855 ------------
856
857 :Syntax: clock:x
858
859 x = clock input in MHz for WD33c93 chip. Normal values would be from
860 8 through 20. The default value depends on your hostadapter(s),
861 default for the A3000 internal controller is 14, for the A2091 it's 8
862 and for the GVP hostadapters it's either 8 or 14, depending on the
863 hostadapter and the SCSI-clock jumper present on some GVP
864 hostadapters.
865
866 5.3.6) next
867 -----------
868
869 No argument. Used to separate blocks of keywords when there's more
870 than one wd33c93-based host adapter in the system.
871
872 5.3.7) nodma
873 ------------
874
875 :Syntax: nodma:x
876
877 If x is 1 (or if the option is just written as "nodma"), the WD33c93
878 controller will not use DMA (= direct memory access) to access the
879 Amiga's memory. This is useful for some systems (like A3000's and
880 A4000's with the A3640 accelerator, revision 3.0) that have problems
881 using DMA to chip memory. The default is 0, i.e. to use DMA if
882 possible.
883
884
885 5.4) gvp11=
886 -----------
887
888 :Syntax: gvp11=<addr-mask>
889
890 The earlier versions of the GVP driver did not handle DMA
891 address-mask settings correctly which made it necessary for some
892 people to use this option, in order to get their GVP controller
893 running under Linux. These problems have hopefully been solved and the
894 use of this option is now highly unrecommended!
895
896 Incorrect use can lead to unpredictable behavior, so please only use
897 this option if you *know* what you are doing and have a reason to do
898 so. In any case if you experience problems and need to use this
899 option, please inform us about it by mailing to the Linux/68k kernel
900 mailing list.
901
902 The address mask set by this option specifies which addresses are
903 valid for DMA with the GVP Series II SCSI controller. An address is
904 valid, if no bits are set except the bits that are set in the mask,
905 too.
906
907 Some versions of the GVP can only DMA into a 24 bit address range,
908 some can address a 25 bit address range while others can use the whole
909 32 bit address range for DMA. The correct setting depends on your
910 controller and should be autodetected by the driver. An example is the
911 24 bit region which is specified by a mask of 0x00fffffe.
912

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

문서 범위와 주의 사항

1-24

문서 제목은 Linux/m68k command-line option이며 마지막 갱신일은 1999-05-02, 기준 kernel은 2.2.6입니다. 원저자는 Roman Hodek이고 Jes Sorensen과 Chris Lawrence가 갱신했습니다.

반복적으로 문의되는 option 이름과 정확한 syntax를 모으기 위해 작성되었습니다. 일부 option은 오래되었거나 설명이 불완전하거나 누락될 수 있으므로, 최신 상태를 확인하고 수정 patch를 제출해야 합니다.

Kernel option 처리 순서

25-52
분류판정전달 위치
Kernel option이름 또는 전체 argument를 kernel이 인식해당 kernel/driver parser
Environment settingKernel option이 아니며 `=` 포함`init` environment
Init argument나머지 argument`init` command line

문서는 머리말의 Linux/m68k version이 인식하는 kernel option을 설명합니다. 이후 revision에는 option이 추가될 수 있고 더 오래된 version에는 일부가 없을 수 있습니다.

일반적으로 `=` 뒤 value는 comma-separated list이며 해석은 option을 소유한 driver에 달려 있습니다. Driver별 소유 관계 때문에 여러 option이 다시 sub-option으로 나뉩니다.

Root filesystem 선택

53-147

`root=/dev/<device>` 또는 `root=<hex_number>`는 kernel이 root filesystem으로 mount할 valid filesystem의 block device를 지정합니다.

부팅 시점에는 `/dev`가 아직 mount되지 않았으므로 kernel이 이름을 직접 major/minor로 변환합니다. 이름은 두세 글자 뒤 decimal number 형식이어야 하며 source의 mapping은 다음과 같습니다.

/dev/ram: -> 0x0100 (initial ramdisk)
/dev/hda: -> 0x0300 (first IDE disk)
/dev/hdb: -> 0x0340 (second IDE disk)
/dev/sda: -> 0x0800 (first SCSI disk)
/dev/sdb: -> 0x0810 (second SCSI disk)
/dev/sdc: -> 0x0820 (third SCSI disk)
/dev/sdd: -> 0x0830 (forth SCSI disk)
/dev/sde: -> 0x0840 (fifth SCSI disk)
/dev/fd : -> 0x0200 (floppy disk)

뒤 decimal number는 partition number이며 표의 base device number에 더해집니다. `/dev/ram`은 bootstrap이 적재한 initial ramdisk를, `/dev/fdN`은 partition이 아닌 floppy drive를 뜻합니다. Kernel 2.0.18부터 initial ramdisk boot에는 root device로 `/dev/ram`을 명시해야 합니다.

Floppy number가 3보다 크면 format을 강제할 수 있습니다. 예를 들어 major 2/minor 16인 `/dev/fd0D720`은 command line에서 `root=/dev/fd16`으로 지정합니다.

Kernel은 mount 전 symlink를 볼 수 없으므로 `/dev/fd -> /dev/fd0D720` 같은 별칭을 root 이름으로 쓸 수 없습니다. 또한 hardcoded table은 `/dev/sde`까지만 있으므로 여섯 번째 SCSI disk는 number로 지정하거나 range check가 없다는 점을 이용해 `/dev/sdf1`을 `root=/dev/sde17`로 표현해야 했습니다.

표에 없는 device는 separator나 prefix 없이 hexadecimal major/minor를 이어 씁니다. 첫 번째 SCSI CD-ROM은 major `0b`, minor `00`이므로 `root=0b00`입니다. 유효 major는 `include/linux/major.h`에서 확인합니다.

Unique partition identifier를 제공하는 partition table에서는 `root=PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF` 형식을 사용할 수 있습니다. 같은 device의 알려진 partition에서 상대 offset으로 찾을 수도 있습니다.

PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=-2

예시는 UUID가 partition 5인 device의 partition 3을 `PARTNROFF=-2`로 선택합니다. 권위 있는 최신 설명은 `Documentation/admin-guide/kernel-parameters.rst`에 있습니다.

Mount mode와 debug 출력

148-217
Option동작
`ro`Root filesystem을 read-only로 mount. Ramdisk를 제외한 기본값
`rw`Root filesystem을 read-write로 mount. Ramdisk 기본값
`debug`Kernel log level을 기본 7에서 10으로 올림
`debug=<device>`Machine별 low-level debug device로 특정 kernel message 출력

`debug=<device>`는 device 이름을 검증하지 않으므로 구현되지 않은 이름이면 아무 동작도 하지 않습니다. 출력 대상은 주로 memory fault나 bad trap 뒤 stack dump, kernel panic입니다. 정확히는 level 0 message와 현재 log level이 8 이상일 때 출력되는 모든 message입니다. Stack dump 전 kernel은 log level을 자동으로 10으로 올리며 `debug` 또는 runtime의 `dmesg -n 8`로도 8 이상을 설정할 수 있습니다.

MachineDevice설정과 의미
Amiga`ser`Built-in serial, 9600 bps, 8N1
Amiga`mem`Reserved chip memory에 저장하고 reboot 뒤 AmigaOS `dmesg`로 읽음
Atari`ser1`ST-MFP serial `Modem1`, 9600 bps, 8N1
Atari`ser2`SCC channel B `Modem2`, 9600 bps, 8N1
Atari`ser`Falcon은 `ser2`, 나머지는 `ser1`인 기본 serial
Atari`midi`MIDI port, 31250 bps, 8N1
Atari`par`Parallel port. Printer가 없을 때 lockup을 막는 수 초 timeout 포함

Ramdisk와 폐기된 option

218-243

`ramdisk_size=<size>`는 지정한 KiB 크기의 ramdisk를 만듭니다. Bootstrap이 ramdisk contents를 전달한 경우 크기가 자동 선택되므로 이 option으로 덮어쓰면 안 됩니다.

실질적인 용도는 floppy의 root filesystem을 memory로 읽는 경우입니다. Disk 크기를 ramdisk size로 선택하고 `root=`에 해당 disk drive를 지정합니다.

`swap=`과 `buff=` option은 기준 kernel 2.2.6에서 구현 흔적을 찾을 수 없다고 문서가 명시합니다.

Amiga/Atari 공통 device option

244-315
OptionSyntax와 핵심 동작
`ether=``ether=[<irq>[,<base_addr>[,<mem_start>[,<mem_end>]]]],<dev-name>`. Linux/m68k Ethernet Zorro board는 Plug-and-Play이고 ariadne/a2065/hydra가 이 값을 쓰지 않아 사실상 무용
`hd=``hd=<cylinders>,<heads>,<sectors>`. 첫 번째 occurrence는 첫 IDE disk, 두 번째는 두 번째 disk. Auto-detection 실패 때만 사용
`max_scsi_luns=``1..8` LUN scan 한계. Kernel config의 Probe all LUNs가 켜지면 기본 8, 아니면 1
`st=``st=<buffer_size>,[<write_thres>,[<max_buffers>]]`. 512-byte tape buffer 수, write 시작 block threshold, 전체 device buffer 한계
`dmasound=``dmasound=[<buffers>,<buffer-size>[,<catch-radius>]]`. Buffer 수 최소/기본 4, KiB buffer 크기 최소 4/기본 32, frequency 오차 허용률 최대 10%/기본 0

`ether=`의 `dev-name` 예는 `eth0..eth3`, `sl0..sl3`, `ppp0..ppp3`, `dummy`, `lo`이며 non-Ethernet driver는 설정을 무시합니다.

`dmasound`의 catch radius를 3%로 두면 Falcon의 8195 Hz hardware frequency로 8000 Hz AU file을 별도 resampling 없이 재생할 수 있습니다.

Atari framebuffer와 predefined mode

316-366

Atari `video=<fbname>:<sub-options...>`에서 일반적인 framebuffer 이름은 `atafb`입니다. Sub-option은 comma-separated입니다. 1.3.x 개발 중 이름이 `atavideo`에서 `video`로 바뀌었고 2.1.57부터 framebuffer 이름을 명시하는 방식이 권장됩니다.

ModeResolution/depth제약
`stlow`320x200x4
`stmid`, `default5`640x200x2
`sthigh`, `default4`640x400x1
`ttlow`320x480x8TT only
`ttmid`, `default1`640x480x4TT only
`tthigh`, `default2`1280x960x1TT only
`vga2`640x480x1Falcon only
`vga4`640x480x2Falcon only
`vga16`, `default3`640x480x4Falcon only
`vga256`640x480x8Falcon only
`falh2`896x608x1Falcon only
`falh16`896x608x4Falcon only

Command line에 mode가 없으면 kernel은 가능한 mode를 찾을 때까지 `default<n>` 이름을 순서대로 시도합니다. `external:` driver를 활성화했다면 kernel이 board mode를 설정할 수 없으므로 predefined mode 선택은 의미가 없습니다.

Atari display 세부 option

367-419
Sub-option동작
`inverse`Text console의 black background를 white로 반전
`font:<fontname>``VGA8x8`, `VGA8x16`, `PEARL8x8` 선택
`hwscroll_<n>`Hardware scrolling용 추가 video line 수
`internal:<xres>;<yres>[;<xres_max>;<yres_max>;<offset>]`OverScan 같은 internal extension의 visible/max resolution과 visible memory offset

화면 세로가 400 pixel row 미만이면 기본 font는 `VGA8x8`, 그 이상이면 `VGA8x16`입니다.

Hardware scrolling은 video base address를 충분히 세밀하게 바꿀 수 있는 STE, MegaSTE, TT, Falcon에서만 가능합니다. Plain ST는 256-byte boundary 제약, graphics card는 kernel이 base address 설정법을 모르기 때문에 지원하지 않습니다. 기본 `<n>`은 visible text line 수로 video memory가 두 배가 되며 0으로 끌 수 있습니다.

`internal:`의 `<xres>/<yres>`는 확장 화면 크기입니다. Black border가 필요한 OverScan은 hardware 최대 line length `<xres_max>`, 최대 line 수 `<yres_max>`, physical screen memory 시작에서 visible 부분까지 byte offset `<offset>`을 추가합니다. Extension 활성화가 필요하면 뒤의 `switches=`를 사용합니다.

Atari external graphics board

420-513
external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase>
[;<colw>[;<coltype>[;<xres_virtual>]]]]]

`external:`은 kernel이 내부를 모르는 graphics board의 사용법을 모두 command line으로 기술합니다. Linux 시작 전에 mode를 설정해야 하며 부팅 뒤 다른 mode로 전환할 수 없습니다.

Parameter의미와 제약
`<xres>`, `<yres>`Visible screen dimension
`<depth>`Plane 수이며 color 수는 `2^depth`
`<org>`Video memory organization
`<scrmem>``0x` prefix hexadecimal video-memory base
`<scrlen>`선택적 memory size. 생략 시 resolution/depth로 계산
`<vgabase>`선택적 4 KiB-aligned VGA register base
`<colw>`각 R/G/B color register bit 수. 기본 6, 흔한 다른 값 8
`<coltype>`Color register model: 기본 `vga` 또는 `mv300`
`<xres_virtual>`ProMST/ET4000 physical line length. ProMST는 2048
`<org>`Color modeMonochrome depth 1
`n`Normal planes, plane 전체가 차례로 배치0=white, 1=black
`i`Plane별 16 bit interleave; built-in Atari mode0=black, 1=white
`p`Packed pixels; 한 pixel의 모든 plane bit가 연속해당 없음
`t`Lookup table 없는 true color, 보통 depth 24해당 없음

`<scrlen>`은 현재 hardware scrolling이나 X virtual resolution에만 쓰일 수 있으나 external driver와 당시 X server가 이를 지원하지 않아 비워 두는 편이 낫습니다. `<vgabase>`를 뒤에 쓰려면 semicolon 두 개로 빈 field를 표현합니다.

`<vgabase>`가 없으면 kernel은 color register를 읽거나 쓸 수 없어 부팅 전에 color를 설정해야 합니다. 지정하면 `vgabase+0x3c7..vgabase+0x3c9`를 사용합니다. External path는 legacy라 `yres_virtual`, hardware scrolling, panning, blanking을 지원하지 않습니다.

Atari clock, monitor, keep

514-553
Sub-option동작
`eclock:`Falcon VIDEL shifter의 external pixel clock. ScreenWonder에서만 동작
`monitorcap:<vmin>;<vmax>;<hmin>;<hmax>`Multisync monitor의 vertical Hz와 horizontal kHz 범위. Fixed-frequency monitor에는 사용 금지
`keep`Framebuffer 자체 mode 계산과 설정을 중단

Falcon framebuffer의 VGA-compatible `monitorcap` 기본값은 `58;62;31;32`입니다. TV/SC1224/SC1435 기본값은 PAL과 NTSC를 모두 포함합니다.

`keep`은 알려지지 않은 video extension의 boot-time mode를 driver가 덮어쓰지 않게 하지만 이후 mode switch도 불가능하게 합니다. Falcon ScreenBlaster가 대표 사용 예입니다.

Atari mouse와 floppy

554-590

`ataflop=<drive type>[,<trackbuffering>[,<steprateA>[,<steprateB>]]]`는 drive type, track buffering, 두 drive의 step rate를 순서대로 설정합니다.

Option/field범위와 의미
`atamouse=<x-threshold>,[<y-threshold>]`IKBD가 packet을 보낼 때까지 누적할 pixel 수. 큰 값은 interrupt/keyboard overrun 감소, 작은 값은 빠른 tracking. 하나만 주면 양축에 적용, 기본 2
`ataflop` drive type`0=DD`, `1=HD`, `2=ED`; buffer 수와 probe format 결정, 기본 HD
`trackbuffering``1` 사용, `0` 미사용. Medusa는 기본 off, 나머지는 on
`steprateA`, `steprateB`Drive A/B의 기본 step rate 변경

Drive가 두 개여도 `ataflop` type은 하나만 선택하므로 더 성능이 좋은 type을 골라야 합니다.

Atari SCSI queue와 hardware switch

591-697

`atascsi=<can_queue>[,<cmd_per_lun>[,<scat-gat>[,<host-id>[,<tagged>]]]]`는 Atari native SCSI driver를 조정합니다. 뒤 argument는 생략할 수 있고 음수는 default를 뜻합니다. Default 표기의 앞은 TT-SCSI, 뒤는 Falcon-SCSI이며 잘못된 field 하나만 무시하고 나머지는 유지합니다.

Field범위, 기본값, 영향
`can_queue`Driver 내부 queued command 최대 수, 최소 1. 1은 내부 multitasking을 사실상 끔. 기본 16/8
`cmd_per_lun`LUN당 command 최대 수, 최소 1. Untagged면 2 초과는 낭비, tagged 최대는 현재 32. 기본 8/1
`scat-gat`Scatter-gather table 크기 0..255, 기본 255/0. ST-DMA 때문에 Falcon은 0 강제
`host-id`Initiator SCSI ID. Valid NV-RAM byte 30 bit 7이면 하위 3 bit, 아니면 7
`tagged`0은 tagged queue off, 양수는 지원 target에서 on. 문서 기준 기본 off

`can_queue`가 `cmd_per_lun * target 수`보다 큰 것은 의미가 없습니다. Falcon에서 `cmd_per_lun > 1`은 당시 원인 미상의 문제를 일으킬 수 있습니다. `cmd_per_lun`은 SCSI reserved memory를 크게 좌우합니다.

no scatter-gather:
  cmd_per_lun * 232 bytes
full scatter-gather:
  cmd_per_lun * approx. 17 Kbytes

Scatter-gather를 끄면 성능이 크게 떨어집니다. Tagged queue는 한 LUN에 여러 command를 보내 device가 최적 순서로 재정렬하게 하지만 모든 SCSI device가 지원하는 것은 아닙니다.

`switches=` itemSet line
`ikbd`Keyboard ACIA RTS high
`midi`MIDI ACIA RTS high
`snd6`PSG port A bit 6
`snd7`PSG port A bit 6

Switch list는 comma-separated이고 중복은 효과가 없습니다. Hardware 확인 전 가능한 한 이르게 설정합니다. 모든 item에 `ov_` prefix를 붙이면 OverScan용으로 video initialization 뒤 HBLANK에 맞춰 켭니다. `ov_ikbd`와 `ov_midi`는 reboot 전에 꺼 TOS가 정상 부팅되게 합니다. Prefix 없는 형식과 함께 주면 이른 초기화가 우선하지만 reset 시 disable은 계속 수행됩니다.

Amiga framebuffer와 video mode

698-757

Amiga `video=<fbname>:<sub-options...>`의 framebuffer는 해당 driver가 built-in 또는 module로 compile된 경우 `amifb`, `cyber`, `virge`, `retz3`, `clgen`을 사용할 수 있습니다. 2.1.57부터 `<fbname>` 명시가 권장되며 sub-option은 Atari 형식과 같은 comma-separated 구조입니다.

그룹ModeResolution/frequency
NTSC`ntsc`640x200, 15 kHz, 60 Hz
NTSC`ntsc-lace`640x400, 15 kHz, 60 Hz interlaced
PAL`pal`640x256, 15 kHz, 50 Hz
PAL`pal-lace`640x512, 15 kHz, 50 Hz interlaced
ECS`multiscan`640x480, 29 kHz, 57 Hz
ECS`multiscan-lace`640x960, 29 kHz, 57 Hz interlaced
ECS`euro36`640x200, 15 kHz, 72 Hz
ECS`euro36-lace`640x400, 15 kHz, 72 Hz interlaced
ECS`euro72`640x400, 29 kHz, 68 Hz
ECS`euro72-lace`640x800, 29 kHz, 68 Hz interlaced
ECS`super72`800x300, 23 kHz, 70 Hz
ECS`super72-lace`800x600, 23 kHz, 70 Hz interlaced
ECS`dblntsc-ff`640x400, 27 kHz, 57 Hz
ECS`dblntsc-lace`640x800, 27 kHz, 57 Hz interlaced
ECS`dblpal-ff`640x512, 27 kHz, 47 Hz
ECS`dblpal-lace`640x1024, 27 kHz, 47 Hz interlaced
ECS`dblntsc`640x200, 27 kHz, 57 Hz doublescan
ECS`dblpal`640x256, 27 kHz, 47 Hz doublescan
VGA`vga`640x480, 31 kHz, 60 Hz
VGA`vga70`640x400, 31 kHz, 70 Hz

OCS/ECS/AGA는 color framebuffer를 사용합니다. ECS/VGA mode에는 ECS 또는 AGA chipset이 필요하며 color depth는 ECS에서 2 bit, AGA에서 8 bit로 제한됩니다.

Amiga display와 floppy option

758-804
Sub-option동작
`depth:<nr. of bit-planes>`선택 video mode의 bit-plane 수
`inverse`Black-on-white inverted display, Atari와 동일
`font:<fontname>`Text-mode font. 세로 400 pixel 미만이면 `VGA8x8` 대신 `PEARL8x8` 사용
`monitorcap:<vmin>;<vmax>;<hmin>;<hmax>`Color framebuffer용 multisync monitor 범위, 기본 `50;90;15;38`
`fd_def_df0=<value>`Silent floppy drive의 `df0` 값을 `0x` prefix hexadecimal로 설정

`monitorcap`의 vertical 범위는 Hz, horizontal 범위는 kHz이며 기본값은 generic Amiga multisync monitor를 나타냅니다.

Amiga WD33C93와 GVP DMA

805-911

`wd33c93=<sub-options...>`는 A590/A2091, A3000, GVP Series II SCSI controller에 적용되며 comma-separated sub-option을 받습니다.

Sub-option의미와 기본값
`nosync:bitmask`하위 7 bit가 device 7개에 대응하며 set bit는 sync negotiation 금지. `wd33c93=255`는 `wd33c93=nosync:0xff`로 변환, 기본 `0xff`
`period:ns`SCSI transfer period 최소 ns. 기본 500, 허용 250..1000
`disconnect:x`0=금지, 1=adaptive 기본, 2=항상 허용
`debug:x``DEBUGGING_ON`일 때 `wd33c93.h`의 `DB_xxx` bitmask로 debug output 선택
`clock:x`WD33C93 input MHz, 보통 8..20. A3000 기본 14, A2091 8, GVP는 adapter/jumper에 따라 8 또는 14
`next`Argument 없이 여러 WD33C93 adapter의 keyword block 구분
`nodma:x`1 또는 bare `nodma`면 DMA 사용 금지. A3000/A4000+A3640 revision 3.0 등의 chip-memory DMA 문제 회피. 기본 0

`gvp11=<addr-mask>`는 초기 GVP driver의 잘못된 DMA address-mask 처리 때문에 존재했으나 문제가 해결된 것으로 보이므로 강하게 비권장됩니다. 잘못 쓰면 예측 불가능한 동작이 생기므로 명확한 이유가 있을 때만 사용하고 필요 사례는 Linux/68k mailing list에 보고해야 합니다.

Mask에 설정되지 않은 bit가 address에도 하나도 없을 때만 DMA-valid입니다. GVP version에 따라 24, 25, 32-bit address range를 지원하며 driver가 자동 검출해야 합니다. 24-bit range 예시는 `0x00fffffe`입니다.