Linux/m68k 命令行选项¶
最后更新:1999 年 5 月 2 日
Linux/m68k 版本:2.2.6
作者:Roman.Hodek@informatik.uni-erlangen.de (Roman Hodek)
更新:jds@kom.auc.dk (Jes Sorensen) 和 faq@linux-m68k.org (Chris Lawrence)
0) 引言¶
经常有人问我 Linux/m68k 内核能识别哪些命令行选项,或者某个选项的确切语法是什么,诸如此类。我希望这份文档能提供所有的答案...
请注意,某些选项可能已经过时,它们的描述可能不完整或缺失。请更新相关信息并提交补丁。
1) 内核选项处理概述¶
内核在其命令行中识别三种类型的选项:
内核选项
环境设置
init 的参数
一个参数属于哪一类是由以下方式决定的:如果选项是内核本身已知的,即名称(“=”之前的部分)或在某些情况下整个参数字符串是内核已知的,则它属于第 1 类。否则,如果参数包含“=”,它属于第 2 类,定义会被放入 init 的环境变量中。所有其他参数都作为命令行选项传递给 init。
本文档描述了文件开头提到的版本中 Linux/m68k 的有效内核选项。后续修订可能会添加新的选项,而旧版本中可能会缺少一些选项。
通常,选项的值(“=”之后的部分)是由逗号分隔的值列表。这些值的解释取决于“拥有”该选项的驱动程序。选项与驱动程序的这种关联也是某些选项被进一步细分的原因。
2) 通用内核选项¶
2.1) root=¶
- 语法:
root=/dev/<device>
- 或:
root=<hex_number>
这告诉内核应该将哪个设备挂载为根文件系统。该设备必须是包含有效文件系统的块设备。
第一种语法按名称指定设备。这些名称在内核内部以一种不寻常的方式转换为驱动主/次设备号(major/minor number)。通常,这种“转换”是由 /dev 中的设备文件完成的,但在这里是不可能的,因为根文件系统(包含 /dev)尚未挂载... 所以内核自己解析名称,带有一些硬编码的名称到数字的映射。名称必须始终由两到三个字母组成,后跟一个十进制数字。有效的名称包括
/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)
名称后必须跟一个表示分区号的十进制数字。在内部,该数字的值直接加到上表提到的设备号上。例外情况是 /dev/ram 和 /dev/fd,其中 /dev/ram 指由引导程序(bootstrap program)加载的初始 RAM 磁盘(请参考引导程序的说明了解如何加载初始 RAM 磁盘)。从内核版本 2.0.18 开始,如果您想从初始 RAM 磁盘启动,必须指定 /dev/ram 作为根设备。对于软盘设备 /dev/fd,数字代表软盘驱动器号(软盘上没有分区)。即 /dev/fd0 代表第一个驱动器,/dev/fd1 代表第二个,依此类推。由于数字是直接加上的,您也可以通过添加大于 3 的数字来强制指定磁盘格式。如果您查看 /dev 目录,可以看到 /dev/fd0D720 的主设备号为 2,次设备号为 16。您可以通过在内核命令行写入“root=/dev/fd16”来指定该设备作为根文件系统。
[奇异且可能无趣的内容 开始]
这种不寻常的设备名转换有一些奇怪的后果:例如,如果您有一个从 /dev/fd 到 /dev/fd0D720 的符号链接作为 DD 格式 0 号软驱的缩写,您将无法使用此名称指定根设备,因为内核在挂载根文件系统之前看不到此符号链接,且它不在上面的表中。如果您使用它,根设备根本不会被设置,且没有错误消息。另一个例子:如果您想按名称指定,则不能将(例如)第六块 SCSI 磁盘上的分区用作根文件系统。这是因为表中仅包含到 /dev/sde 为止的设备,而不包含 /dev/sdf。虽然您可以将第六块 SCSI 磁盘用于根文件系统,但您必须按编号指定设备...(见下文)。或者,更奇怪的是,您可以利用不检查分区号范围的事实,以及您知道每块磁盘占用 16 个次设备号的知识,写入“root=/dev/sde17”(对应 /dev/sdf1)。
[奇异且可能无趣的内容 结束]
如果包含根分区的设备不在上表中,您也可以通过主设备号和次设备号来指定。这些以十六进制书写,没有前缀,中间没有分隔符。例如,如果您在第一个 SCSI CD-ROM 驱动器中有一个内容适合作为根文件系统的 CD,您可以通过“root=0b00”从中启动。这里,十六进制“0b” = 十进制 11 是 SCSI CD-ROM 的主设备号,次设备号 0 代表其中的第一个。您可以通过查看 include/linux/major.h 来找出所有有效的主设备号。
除了主设备号和次设备号之外,如果包含根分区的设备使用具有唯一分区标识符的分区表格式,则可以使用它们。例如,“root=PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF”。还可以使用已知的分区 UUID 作为起点来引用同一设备上的另一个分区。例如,如果设备的第 5 个分区的 UUID 是 00112233-4455-6677-8899-AABBCCDDEEFF,则可以按如下方式找到第 3 个分区:
PARTUUID=00112233-4455-6677-8899-AABBCCDDEEFF/PARTNROFF=-2
权威信息可在“内核命令行参数”中找到。
2.2) ro, rw¶
- 语法:
ro
- 或:
rw
这两个选项告诉内核是以只读还是读写方式挂载根文件系统。默认是只读,但 ramdisk 默认是读写。
2.3) debug¶
- 语法:
debug
这会将内核日志级别提高到 10(默认是 7)。这与“dmesg”命令设置的级别相同,只是 dmesg 可选的最大级别是 8。
2.4) debug=¶
- 语法:
debug=<device>
此选项导致某些内核消息打印到选定的调试设备。这可以辅助内核调试,因为消息可以在其他机器上捕获和分析。具体支持哪些设备取决于机器类型。不会对设备名称的有效性进行检查。如果设备未实现,则没有任何反应。
以此方式记录的消息通常是内核内存错误或错误的内核陷阱后的堆栈转储,以及内核 panic。确切地说:所有级别 0 的消息(panic 消息)以及在日志级别为 8 或更高时打印的所有消息(其具体级别无关紧要)。在堆栈转储之前,内核会自动将日志级别设置为 10。至少为 8 的级别也可以通过“debug”命令行选项(见 2.3)或在运行时通过“dmesg -n 8”来设置。
Amiga 可用的设备
- “ser”
内置串口;参数:9600bps, 8N1
- “mem”
将消息保存到 chip mem 的保留区域。重启后,可以在 AmigaOS 下使用“dmesg”工具读取。
Atari 可用的设备
- “ser1”
ST-MFP 串口 (“Modem1”);参数:9600bps, 8N1
- “ser2”
SCC 通道 B 串口 (“Modem2”);参数:9600bps, 8N1
- “ser”
默认串口。Falcon 机器上是“ser2”,其他机器上是“ser1”
- “midi”
MIDI 端口;参数:31250bps, 8N1
- “par”
并口
此项的打印例程实现了超时机制,以防未连接打印机(否则内核会锁死)。超时并不精确,通常为几秒钟。
2.6) ramdisk_size=¶
- 语法:
ramdisk_size=<size>
此选项指示内核建立给定大小(单位:KBytes)的 ramdisk。如果 ramdisk 内容是通过引导程序传递的,请不要使用此选项!在这种情况下,大小是自动选择的,不应被覆盖。
唯一的应用场景是针对应加载到内存中的软盘根文件系统。为此,请选择与磁盘对应的大小作为 ramdisk 大小,并将根设备设置为磁盘驱动器(使用“root=”)。
2.7) swap=
在 2.2.6 版本中找不到此选项的迹象。
2.8) buff=¶
在 2.2.6 版本中找不到此选项的迹象。
3) 通用设备选项 (Amiga 和 Atari)¶
3.1) hd=¶
- 语法:
hd=<cylinders>,<heads>,<sectors>
此选项设置 IDE 磁盘的磁盘几何参数。第一个 hd= 选项用于第一个 IDE 磁盘,第二个用于第二个。(即,您可以提供此选项两次。)在大多数情况下,您不需要使用此选项,因为内核可以自行获取几何数据。它仅在磁盘数据获取失败的情况下使用。
3.2) max_scsi_luns=¶
- 语法:
max_scsi_luns=<n>
设置要扫描的 SCSI 设备最大 LUN(逻辑单元)数。<n> 的有效值为 1 到 8。如果在内核配置期间选择了“Probe all LUNs on each SCSI device”,则默认值为 8,否则为 1。
3.3) st=¶
- 语法:
st=<buffer_size>,[<write_thres>,[<max_buffers>]]
设置 SCSI 磁带驱动程序的多个参数。<buffer_size> 是为每个设备的磁带操作保留的 512 字节缓冲区的数量。<write_thres> 设置了启动磁带实际写入操作前必须填满的块数。最大值为缓冲区总数。<max_buffer> 限制了为所有磁带设备分配的缓冲区总数。
3.4) dmasound=¶
- 语法:
dmasound=[<buffers>,<buffer-size>[,<catch-radius>]]
此选项控制 Linux/m68k DMA 声音驱动程序(Amiga 和 Atari)的一些配置:<buffers> 是您想使用的缓冲区数量(最小 4,默认 4),<buffer-size> 是每个缓冲区的大小(以 KB 为单位,最小 4,默认 32),<catch-radius> 表示设置频率时允许的百分比误差(最大 10,默认 0)。例如,设置为 3% 时,您可以在硬件频率为 8195Hz 的 Falcon 上播放 8000Hz 的 AU 文件,从而无需对声音进行扩展处理。
4) 仅适用于 Atari 的选项¶
4.1) video=¶
- 语法:
video=<fbname>:<sub-options...>
<fbname> 参数指定帧缓冲区的名称,例如大多数 Atari 用户会希望在此处指定 atafb。<sub-options> 是下面列出的子选项的逗号分隔列表。
- 注
请注意,此选项在 1.3.x 内核开发期间从 atavideo 重命名为 video,因此如果从 1.2.x 内核升级到 2.x,您可能需要更新引导脚本。
- 注 2
video= 的行为在 2.1.57 中已更改,因此建议的选项是指定帧缓冲区的名称。
4.1.1) 视频模式¶
此子选项可以是 Linux/m68k 源码树中 atari/atafb.c 中列出的任何预定义视频模式。如果硬件允许,内核将在引导时激活给定的视频模式并将其设为默认模式。目前定义的名称包括
stlow : 320x200x4
stmid, default5 : 640x200x2
sthigh, default4: 640x400x1
ttlow : 320x480x8, 仅限 TT
ttmid, default1 : 640x480x4, 仅限 TT
tthigh, default2: 1280x960x1, 仅限 TT
vga2 : 640x480x1, 仅限 Falcon
vga4 : 640x480x2, 仅限 Falcon
vga16, default3 : 640x480x4, 仅限 Falcon
vga256 : 640x480x8, 仅限 Falcon
falh2 : 896x608x1, 仅限 Falcon
falh16 : 896x608x4, 仅限 Falcon
如果命令行中未给出视频模式,内核将依次尝试名为“default<n>”的模式,直到找到一个所用硬件支持的模式。
如果外部驱动程序通过“external:”子选项激活,视频模式设置将失去意义。
4.1.2) inverse¶
反转显示。这仅影响文本控制台。通常,背景颜色被选择为黑色。使用此选项,您可以使背景变为白色。
4.1.3) font¶
- 语法:
font:<fontname>
指定要在文本模式下使用的字体。目前只能在 VGA8x8、VGA8x16 和 PEARL8x8 之间选择。如果显示的垂直尺寸小于 400 像素行,则默认使用 VGA8x8。否则,VGA8x16 字体是默认设置。
4.1.4) hwscroll_¶
- 语法:
hwscroll_<n>
为加快滚动速度而保留的视频内存额外行数(“硬件滚动”)。仅当内核能以足够精细的步长设置视频基地址时,硬件滚动才可能实现。这适用于 STE、MegaSTE、TT 和 Falcon。在普通 ST 和显卡上不可用(前者因为基地址必须在 256 字节边界上,后者因为内核根本不知道如何设置基地址)。
默认情况下,<n> 设置为屏幕上可见的文本行数。因此,与没有硬件滚动相比,视频内存量增加了一倍。您可以通过将 <n> 设置为 0 来彻底关闭硬件滚动。
4.1.5) internal:¶
- 语法:
internal:<xres>;<yres>[;<xres_max>;<yres_max>;<offset>]
此选项指定了一些扩展内部视频硬件的功能,如 OverScan。<xres> 和 <yres> 给出了屏幕的(扩展)尺寸。
如果您的 OverScan 需要黑色边框,您必须编写 “internal:” 的最后三个参数。<xres_max> 是硬件允许的最大行长度,<yres_max> 是最大行数。<offset> 是屏幕内存的可见部分相对于其物理起点的偏移量,以字节为单位。
通常,扩展间隔视频硬件必须以某种方式激活。为此,请参见下文的“sw_*”选项。
4.1.6) external:¶
- 语法:
external:<xres>;<yres>;<depth>;<org>;<scrmem>[;<scrlen>[;<vgabase> [;<colw>[;<coltype>[;<xres_virtual>]]]]]
这可能是最复杂的参数... 它指定了您拥有一些外部视频硬件(显卡),以及如何在 Linux/m68k 下使用它。内核对硬件的了解仅限于您在此处告知它的内容!由于内核不知道任何显卡内部情况,它也无法设置或更改任何视频模式。因此,您必须在启动 Linux 之前切换到该视频模式,并且一旦 Linux 启动,就无法切换到另一种模式。
此子选项的前 3 个参数应该是显而易见的:<xres>、<yres> 和 <depth> 给出了屏幕的尺寸和位面数(深度)。深度是以 2 为底的可能颜色的对数。(或者换个说法:颜色数量是 2^depth)。
此外,您还必须告诉内核视频内存是如何组织的。这是通过作为 <org> 参数的字母完成的
- ‘n’
“normal planes”,即一个完整平面接着另一个
- ‘i’
“interleaved planes”,即第 1 个位面的 16 位,接着是下一个位面的 16 位,依此类推... 这种模式仅用于内置 Atari 视频模式,我认为没有任何显卡支持这种模式。
- ‘p’
“packed pixels”,即 <depth> 个连续位代表一个像素的所有平面;这是显卡上 8 个位面(256 色)最常见的模式
- ‘t’
“true color”(或多或少是打包像素,但没有颜色查找表);深度通常为 24
对于单色模式(即 <depth> 为 1),<org> 字母具有不同的含义
- ‘n’
正常颜色,即 0=白色, 1=黑色
- ‘i’
反转颜色,即 0=黑色, 1=白色
关于视频硬件的下一个重要信息是视频内存的基地址。这在 <scrmem> 参数中给出,是一个带有“0x”前缀的十六进制数字。您必须在硬件文档中找出此地址。
下一个参数 <scrlen> 告诉内核视频内存的大小。如果缺失,大小将根据 <xres>、<yres> 和 <depth> 计算。目前,在这里写一个值没有用。它仅用于硬件滚动(在外部驱动程序中无法使用,因为内核无法设置视频基地址),或者用于 X 下的虚拟分辨率(X 服务器尚不支持)。所以目前最好保留此字段为空,要么在视频地址后结束“external:”,要么如果您想给出 <vgabase>,则编写两个连续的分号(允许保留此参数为空)。
<vgabase> 参数是可选的。如果未给出,内核将无法读写视频硬件的任何颜色寄存器,因此在启动 Linux 之前您必须设置适当的颜色。但如果您的卡在某种程度上是 VGA 兼容的,您可以告诉内核 VGA 寄存器集的基地址,以便它可以更改颜色查找表。您必须在显卡文档中查找此地址。为避免误解:<vgabase> 是 _基_ 地址,即 4k 对齐的地址。对于读/写颜色寄存器,内核使用地址 vgabase+0x3c7...vgabase+0x3c9。<vgabase> 参数以带有“0x”前缀的十六进制书写,就像 <scrmem> 一样。
<colw> 仅在指定了 <vgabase> 时才有意义。它告诉内核每个颜色寄存器的宽度,即每个单一颜色(红/绿/蓝)的位数。默认值是 6,另一个相当常见的值是 8。
<coltype> 同样与 <vgabase> 一起使用。它告诉内核关于您的显卡的颜色寄存器模型。目前实现了 “vga”(也是默认值)和 “mv300”(SANG MV300)类型。
对于物理行长度与可见长度不同的 ProMST 或 ET4000 卡,需要 <xres_virtual> 参数。对于 ProMST,xres_virtual 必须设置为 2048。对于 ET4000,xres_virtual 取决于显卡的初始化。如果您发现缺失了对应的 yres_virtual:外部设备部分是旧有的,因此我们不支持依赖硬件的功能,如硬件滚动、平移或黑屏消隐。
4.1.7) eclock:¶
连接到 Falcon VIDEL 移位器的外部像素时钟。目前这仅适用于 ScreenWonder!
4.1.8) monitorcap:¶
- 语法:
monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
这描述了多频同步显示器的功能。请勿在固定频率显示器上使用!目前,只有 Falcon 帧缓冲区使用 “monitorcap:” 的设置。
<vmin> 和 <vmax> 分别是您的显示器可以工作的最小和最大垂直频率(单位:Hz)。<hmin> 和 <hmax> 是水平频率的最小和最大值(单位:kHz)。
默认值为 58;62;31;32 (VGA 兼容)。
TV/SC1224/SC1435 的默认值涵盖了 PAL 和 NTSC 标准。
4.1.9) keep¶
如果给出此选项,帧缓冲区设备本身不会进行任何视频模式的计算和设置。目前唯一这样做的是 Atari fb 设备 Falcon。
这样做的目的是:未知视频扩展的设置不会被驱动程序覆盖,因此当驱动程序不知道如何自行设置此模式时,您仍然可以使用引导时发现的模式。但这也意味着您无法再切换视频模式...
您可能想要使用 “keep” 的一个例子是用于 Falcon 的 ScreenBlaster。
4.2) atamouse=¶
- 语法:
atamouse=<x-threshold>,[<y-threshold>]
使用此选项,您可以设置鼠标移动报告阈值。这是在 IKBD 向内核发送新鼠标包之前必须累积的鼠标移动像素数。较高的值可减少鼠标中断负载,从而降低键盘溢出的几率。较低的值提供稍快的鼠标响应和略好的鼠标跟踪。
您可以分别设置 x 和 y 的阈值,但这通常没有多大实际用途。如果选项中只有一个数字,则该数字用于两个维度。两个阈值的默认值均为 2。
4.3) ataflop=¶
- 语法:
ataflop=<drive type>[,<trackbuffering>[,<steprateA>[,<steprateB>]]]
驱动器类型可以是 0、1 或 2,分别对应 DD、HD 和 ED。此设置影响保留多少缓冲区以及探测哪些格式(另请参见下文)。默认值为 1 (HD)。只能选择一种驱动器类型。如果您有两个磁盘驱动器,请选择“较好”的类型。
第二个参数 <trackbuffer> 告诉内核是否使用轨道缓冲 (1) 或不使用 (0)。默认值取决于机器:Medusa 选否,所有其他机器选是。
使用以下两个参数,您可以分别更改用于 A 驱和 B 驱的默认步进率。
4.4) atascsi=¶
- 语法:
atascsi=<can_queue>[,<cmd_per_lun>[,<scat-gat>[,<host-id>[,<tagged>]]]]
此选项为 Atari 原生 SCSI 驱动程序设置一些参数。通常,末尾的任意数量参数都可以省略。对于每个数字,负值意味着“使用默认值”。默认值取决于使用的是 TT 风格还是 Falcon 风格的 SCSI。下文中,默认值记为 n/m,其中第一个值指的是 TT-SCSI,后者指的是 Falcon-SCSI。如果一个参数给出了非法值,会打印错误消息并忽略该设置(其他设置不受影响)。
- <can_queue>
这是 Atari SCSI 驱动程序内部排队的最大 SCSI 命令数量。值为 1 实际上关闭了驱动程序内部的多任务处理(如果它引起问题)。有效值为 >= 1。<can_queue> 可以随心所欲设置得很高,但大于 <cmd_per_lun> 乘以您拥有的 SCSI 目标(LUN)数量的值没有意义。默认值:16/8。
- <cmd_per_lun>
为一个逻辑单元(LUN,通常为一个 SCSI 目标)发给驱动程序的最大 SCSI 命令数量。有效值从 1 开始。如果不使用标记队列(见下文),大于 2 的值没有意义且浪费内存。否则,最大值是驱动程序可用的命令标记数量(目前为 32)。默认值:8/1。(注意:大于 1 的值似乎会在 Falcon 上引起问题,原因尚不清楚。)
<cmd_per_lun> 的值在很大程度上决定了 SCSI 为自己保留的内存量。公式相当复杂,但我可以给您一些提示:
- 不使用离散-聚合 (no scatter-gather)
cmd_per_lun * 232 字节
- 完全离散-聚合 (full scatter-gather)
cmd_per_lun * 约 17 Kbytes
- <scat-gat>
离散-聚合表的大小,即磁盘上可以合并为一个 SCSI 命令的连续请求数。有效值在 0 到 255 之间。默认值:255/0。注意:在 Falcon 上此值强制为 0,因为 ST-DMA 无法实现离散-聚合。不使用离散-聚合会严重损害性能。
- <host-id>
由发起者(您的 Atari)使用的 SCSI ID。这通常是 7,即可能的最高 ID。SCSI 总线上的每个 ID 必须唯一。默认值:在运行时确定:如果 NV-RAM 校验和有效,且 NV-RAM 第 30 字节的第 7 位被置位,则使用该字节的低 3 位作为主机 ID。(此方法由 Atari 定义,也被一些 TOS HD 驱动程序使用。)如果上述条件不满足,默认 ID 为 7。(TT 和 Falcon 都是)。
- <tagged>
0 表示关闭标记队列(tagged queuing)支持,所有其他 > 0 的值表示对支持它的目标使用标记队列。默认值:目前为关闭,但当标记队列处理被证明可靠时,这可能会改变。
标记队列意味着可以向一个 LUN 发出多个命令,SCSI 设备本身会对请求进行排序,以便以最佳顺序执行它们。并非所有 SCSI 设备都支持标记队列 (:-()。
4.5 switches=¶
- 语法:
switches=<list of switches>
使用此选项,您可以切换一些常用于启用/禁用某些硬件扩展的硬件线路。例如 OverScan、超频等。
<list of switches> 是以下项的逗号分隔列表:
- ikbd
将键盘 ACIA 的 RTS 设置为高电平
- midi
将 MIDI ACIA 的 RTS 设置为高电平
- snd6
设置 PSG 端口 A 的第 6 位
- snd7
设置 PSG 端口 A 的第 6 位
多次提到一个开关没有意义(与只提一次没有区别),但您可以提供任意数量的开关以启用不同的功能。开关线路在内核初始化期间尽早设置(甚至在确定现有硬件之前)。
所有项都可以加前缀 ov_,即 ov_ikbd、ov_midi 等。这些选项旨在开启 OverScan 视频扩展。与基本选项的区别在于,开启是在视频初始化之后完成的,并以某种方式与 HBLANK 同步。一个特点是 ov_ikbd 和 ov_midi 在重启前会关闭,这样 OverScan 就会被禁用,TOS 就能正常引导。
如果您同时给出了带和不带 ov_ 前缀的选项,则较早的初始化(不带 ov_ 的)优先。但在这种情况下,重置时的关闭动作仍然会发生。
5) 仅适用于 Amiga 的选项:¶
5.1) video=¶
- 语法:
video=<fbname>:<sub-options...>
<fbname> 参数指定帧缓冲区的名称,有效选项包括 amifb、cyber、‘virge’、retz3 和 clgen,前提是相应的帧缓冲区设备已被编译进内核(或编译为可加载模块)。<fbname> 选项的行为在 2.1.57 中已更改,因此现在建议指定此选项。
<sub-options> 是下面列出的子选项的逗号分隔列表。此选项的组织结构类似于 Atari 版本的 “video” 选项 (4.1),但子选项较少。
5.1.1) video mode¶
同样,类似于 Atari 的视频模式(见 4.1.1)。预定义模式取决于所用的帧缓冲区设备。
OCS、ECS 和 AGA 机器都使用彩色帧缓冲区。提供以下预定义视频模式:
- NTSC 模式
ntsc : 640x200, 15 kHz, 60 Hz
ntsc-lace : 640x400, 15 kHz, 60 Hz 隔行扫描
- PAL 模式
pal : 640x256, 15 kHz, 50 Hz
pal-lace : 640x512, 15 kHz, 50 Hz 隔行扫描
- ECS 模式
multiscan : 640x480, 29 kHz, 57 Hz
multiscan-lace : 640x960, 29 kHz, 57 Hz 隔行扫描
euro36 : 640x200, 15 kHz, 72 Hz
euro36-lace : 640x400, 15 kHz, 72 Hz 隔行扫描
euro72 : 640x400, 29 kHz, 68 Hz
euro72-lace : 640x800, 29 kHz, 68 Hz 隔行扫描
super72 : 800x300, 23 kHz, 70 Hz
super72-lace : 800x600, 23 kHz, 70 Hz 隔行扫描
dblntsc-ff : 640x400, 27 kHz, 57 Hz
dblntsc-lace : 640x800, 27 kHz, 57 Hz 隔行扫描
dblpal-ff : 640x512, 27 kHz, 47 Hz
dblpal-lace : 640x1024, 27 kHz, 47 Hz 隔行扫描
dblntsc : 640x200, 27 kHz, 57 Hz 倍频扫描
dblpal : 640x256, 27 kHz, 47 Hz 倍频扫描
- VGA 模式
vga : 640x480, 31 kHz, 60 Hz
vga70 : 640x400, 31 kHz, 70 Hz
请注意,ECS 和 VGA 模式需要 ECS 或 AGA 芯片组,并且这些模式在 ECS 芯片组上限制为 2 位彩色,在 AGA 芯片组上限制为 8 位彩色。
5.1.2) depth¶
- 语法:
depth:<nr. of bit-planes>
指定所选视频模式的位面数量。
5.1.3) inverse¶
使用反转显示(白底黑字)。功能上与 Atari 的 “inverse” 子选项相同。
5.1.4) font¶
- 语法:
font:<fontname>
指定要在文本模式下使用的字体。功能上与 Atari 的 “font” 子选项相同,除了如果显示的垂直尺寸小于 400 像素行,则使用 PEARL8x8 代替 VGA8x8。
5.1.5) monitorcap:¶
- 语法:
monitorcap:<vmin>;<vmax>;<hmin>;<hmax>
这描述了多频同步显示器的功能。目前,只有彩色帧缓冲区使用 “monitorcap:” 的设置。
<vmin> 和 <vmax> 分别是您的显示器可以工作的最小和最大垂直频率(单位:Hz)。<hmin> 和 <hmax> 是水平频率的最小和最大值(单位:kHz)。
默认值为 50;90;15;38 (通用 Amiga 多频同步显示器)。
5.2) fd_def_df0=¶
- 语法:
fd_def_df0=<value>
设置“静音”软盘驱动器的 df0 值。该值应采用带有 “0x” 前缀的十六进制形式。
5.3) wd33c93=¶
- 语法:
wd33c93=<sub-options...>
这些选项会影响 A590/A2091、A3000 和 GVP Series II SCSI 控制器。
<sub-options> 是下面列出的子选项的逗号分隔列表。
5.3.1) nosync¶
- 语法:
nosync:bitmask
bitmask 是一个字节,其前 7 位对应于 7 个可能的 SCSI 设备。设置某位可防止在该设备上进行同步协商。为了保持向后兼容,“wd33c93=255” 之类的命令行将自动转换为 “wd33c93=nosync:0xff”。默认是对所有设备禁用同步协商,即 nosync:0xff。
5.3.2) period¶
- 语法:
period:ns
ns 是 SCSI 数据传输周期中的最小纳秒数。默认值为 500;可接受的值为 250 - 1000。
5.3.3) disconnect¶
- 语法:
disconnect:x
指定 x = 0 表示从不允许断开连接,x = 2 表示始终允许断开。x = 1 表示执行“自适应”断开连接,这是默认设置且通常是最佳选择。
5.3.4) debug¶
- 语法:
debug:x
如果定义了 DEBUGGING_ON,则 x 是一个位掩码,用于导致打印各种类型的调试输出 - 参见 wd33c93.h 中的 DB_xxx 定义。
5.3.5) clock¶
- 语法:
clock:x
x = WD33c93 芯片的时钟输入频率(单位:MHz)。正常值应为 8 到 20。默认值取决于您的主机适配器,A3000 内部控制器的默认值为 14,A2091 为 8,而 GVP 主机适配器则为 8 或 14,具体取决于主机适配器以及某些 GVP 主机适配器上的 SCSI 时钟跳线。
5.3.6) next¶
无参数。当系统中存在多个基于 wd33c93 的主机适配器时,用于分隔关键字块。
5.3.7) nodma¶
- 语法:
nodma:x
如果 x 为 1(或者选项仅写为 “nodma”),WD33c93 控制器将不使用 DMA(= 直接内存访问)来访问 Amiga 的内存。这对于某些在访问芯片内存时存在 DMA 问题系统(如配备 A3640 加速卡 3.0 修订版的 A3000 和 A4000)很有用。默认值为 0,即尽可能使用 DMA。
5.4) gvp11=¶
- 语法:
gvp11=<addr-mask>
早期版本的 GVP 驱动程序没有正确处理 DMA 地址掩码设置,这使得某些人必须使用此选项才能使其 GVP 控制器在 Linux 下运行。这些问题希望已经得到解决,现在强烈不建议使用此选项!
不正确的使用可能导致不可预测的行为,所以请仅在您明确知道自己在做什么且有理由这样做的情况下才使用此选项。无论如何,如果您遇到问题并需要使用此选项,请通过向 Linux/68k 内核邮件列表发送邮件来告知我们。
此选项设置的地址掩码指定了哪些地址对于 GVP Series II SCSI 控制器的 DMA 是有效的。如果除了掩码中设置的位之外没有设置其他位,则该地址是有效的。
某些版本的 GVP 只能 DMA 到 24 位地址范围内,某些可以寻址 25 位地址范围,而其他版本可以将整个 32 位地址范围用于 DMA。正确的设置取决于您的控制器,并且应该由驱动程序自动检测。一个例子是由掩码 0x00fffffe 指定的 24 位区域。