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) 核心選項處理概述

核心知道命令列上的三種選項

  1. 核心選項

  2. 環境設定

  3. init 的引數

引數屬於哪個類別按以下方式確定:如果選項是核心本身已知的,即名稱('=' 之前的部分)或者在某些情況下,整個引數字串對於核心是已知的,則它屬於類別 1。 否則,如果引數包含 '=',則它屬於類別 2,並且該定義放入 init 的環境中。 所有其他引數作為命令列選項傳遞給 init。

本文件描述了本文件開頭提到的版本中 Linux/m68k 的有效核心選項。 後續版本可能會新增新的此類選項,並且某些選項可能在較舊版本中缺失。

一般來說,選項的值('=' 之後的部分)是由逗號分隔的值列表。 這些值的解釋由“擁有”該選項的驅動程式決定。 選項與驅動程式的這種關聯也是某些選項進一步細分的原因。

2) 常規核心選項

2.1) root=

語法:

root=/dev/<裝置>

或者:

root=<十六進位制數>

這告訴核心應該將哪個裝置掛載為根檔案系統。 該裝置必須是具有有效檔案系統的塊裝置。

第一種語法按名稱給出裝置。 這些名稱在核心中以一種不尋常的方式轉換為主/次編號。 通常,這種“轉換”由 /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 指的是你的載入程式載入的初始 ramdisk(請查閱你的載入程式的說明,以瞭解如何載入初始 ramdisk)。 從核心版本 2.0.18 開始,如果你想從初始 ramdisk 啟動,則必須將 /dev/ram 指定為根裝置。 對於軟盤裝置,/dev/fd,該數字代表軟盤驅動器編號(軟盤上沒有分割槽)。 即,/dev/fd0 代表第一個驅動器,/dev/fd1 代表第二個驅動器,依此類推。 由於該數字只是新增的,你還可以透過新增大於 3 的數字來強制使用磁碟格式。 如果你檢視你的 /dev 目錄,你可以看到 /dev/fd0D720 的主裝置號為 2,次裝置號為 16。 你可以透過在核心命令列上寫入 “root=/dev/fd16” 來為此裝置指定根 FS。

[奇怪且可能不感興趣的東西 ON]

這種不尋常的裝置名稱轉換會產生一些奇怪的後果:例如,如果你有一個從 /dev/fd 到 /dev/fd0D720 的符號連結,作為 DD 格式的軟盤驅動器 #0 的縮寫,你不能使用此名稱來指定根裝置,因為核心在掛載根 FS 之前無法看到此符號連結,並且它不在上表中。 如果你使用它,則根本不會設定根裝置,而不會顯示錯誤訊息。 另一個示例:如果你想透過名稱指定,則不能使用例如第六個 SCSI 磁碟上的分割槽作為根檔案系統。 這是因為上表中只有 /dev/sde 之前的裝置,而不是 /dev/sdf。 雖然,你可以使用第六個 SCSI 磁碟作為根 FS,但你必須按數字指定裝置...(參見下文)。 或者,更奇怪的是,你可以利用分割槽號沒有範圍檢查這一事實,並且知道每個磁碟使用 16 個次裝置號,並寫入 “root=/dev/sde17”(對於 /dev/sdf1)。

[奇怪且可能不感興趣的東西 OFF]

如果包含根分割槽的裝置不在上表中,你還可以透過主裝置號和次裝置號指定它。 這些數字以十六進位制寫入,沒有字首,也沒有分隔符。 例如,如果你的 CD 上包含適合作為第一個 SCSI CD-ROM 驅動器中根檔案系統的內容,你可以透過 “root=0b00” 從其啟動。 在這裡,十六進位制 “0b” = 十進位制 11 是 SCSI CD-ROM 的主裝置號,次裝置號 0 代表第一個 SCSI CD-ROM。 你可以透過檢視 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=<裝置>

此選項使某些核心訊息列印到選定的除錯裝置。 這可以幫助除錯核心,因為訊息可以在其他機器上捕獲和分析。 哪些裝置是可能的取決於機器型別。 沒有對裝置名稱有效性的檢查。 如果裝置未實現,則什麼也不會發生。

以這種方式記錄的訊息通常是核心記憶體故障或錯誤的核心陷阱之後的堆疊轉儲,以及核心崩潰。 確切地說:級別為 0(崩潰訊息)的所有訊息以及日誌級別為 8 或更高的所有訊息(它們的級別無關緊要)。 在堆疊轉儲之前,核心自動將日誌級別設定為 10。 也可以透過 “debug” 命令列選項(參見 2.3)以及執行時使用 “dmesg -n 8” 設定至少為 8 的級別。

Amiga 可能的裝置

  • “ser”

    內建序列埠;引數:9600bps, 8N1

  • “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=<大小>

此選項指示核心設定給定大小(以 KB 為單位)的 ramdisk。 如果 ramdisk 內容由載入程式傳遞,請不要使用此選項! 在這種情況下,大小會自動選擇,不應覆蓋。

唯一的應用程式是軟盤上的根檔案系統,應該載入到記憶體中。 為此,請選擇磁碟的相應大小作為 ramdisk 大小,並將根裝置設定為磁碟驅動器(使用 “root=”)。

2.7) swap=

我在 2.2.6 中找不到此選項的任何跡象。

2.8) buff=

我在 2.2.6 中找不到此選項的任何跡象。

3) 常規裝置選項(Amiga 和 Atari)

3.1) ether=

語法:

ether=[<irq>[,<base_addr>[,<mem_start>[,<mem_end>]]]],<dev-name>

<dev-name> 是網路驅動程式的名稱,如 Linux 原始碼中的 drivers/net/Space.c 中指定的那樣。 最突出的是 eth0, ... eth3, sl0, ... sl3, ppp0, ..., ppp3, dummy 和 lo。

非乙太網驅動程式(sl, ppp, dummy, lo)顯然會忽略此選項的設定。 此外,Linux/m68k 的現有乙太網驅動程式(ariadne, a2065, hydra)不使用它們,因為 Zorro 板確實是即插即用,因此 “ether=” 選項對於 Linux/m68k 完全無用。

3.2) hd=

語法:

hd=<柱面數>,<磁頭數>,<扇區數>

此選項設定 IDE 磁碟的磁碟幾何形狀。 第一個 hd= 選項用於第一個 IDE 磁碟,第二個用於第二個 IDE 磁碟。 (即,你可以給出此選項兩次。)在大多數情況下,你不需要使用此選項,因為核心可以自己獲取幾何資料。 它存在只是為了在你的一個磁碟發生故障的情況下使用。

3.3) max_scsi_luns=

語法:

max_scsi_luns=<n>

設定要掃描的 SCSI 裝置的最大 LUN(邏輯單元)數。 <n> 的有效值介於 1 和 8 之間。如果在核心配置期間選擇了“探測每個 SCSI 裝置上的所有 LUN”,則預設值為 8,否則為 1。

3.4) st=

語法:

st=<緩衝區大小>,[<寫入閾值>,[<最大緩衝區數>]]

設定 SCSI 磁帶驅動程式的幾個引數。 <緩衝區大小>是為每個裝置的磁帶操作保留的 512 位元組緩衝區數。 <寫入閾值>設定必須填充的塊數才能開始實際的磁帶寫入操作。 最大值是緩衝區的總數。 <最大緩衝區數>限制為所有磁帶裝置分配的緩衝區總數。

3.5) dmasound=

語法:

dmasound=[<緩衝區數>,<緩衝區大小>[,<捕獲半徑>]]

此選項控制 Linux/m68k DMA 聲音驅動程式的一些配置(Amiga 和 Atari):<緩衝區數>是你想要使用的緩衝區數(最小 4 個,預設 4 個),<緩衝區大小>是每個緩衝區的大小(以 KB 為單位)(最小 4 個,預設 32 個),<捕獲半徑>表示設定頻率時允許的誤差百分比(最大 10,預設 0)。 例如,使用 3%,你可以在 Falcon 上播放 8000Hz AU 檔案,其硬體頻率為 8195Hz,因此不需要擴充套件聲音。

4) 僅適用於 Atari 的選項

4.1) video=

語法:

video=<fbname>:<子選項...>

<fbname> 引數指定幀緩衝區的名稱,例如大多數 atari 使用者將希望在此處指定 atafb。 <子選項> 是以下列出的子選項的逗號分隔列表。

注意

請注意,在 1.3.x 核心的開發過程中,此選項已從 atavideo 重新命名為 video,因此如果你從 1.2.x 核心升級到 2.x,你可能需要更新你的啟動指令碼。

注意注意

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:<字型名稱>

指定在文字模式下使用的字型。 目前,你只能在 VGA8x8VGA8x16PEARL8x8 之間進行選擇。 如果顯示的垂直大小小於 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^深度)。

你還必須告訴核心影片記憶體是如何組織的。 這透過一個字母作為 <org> 引數完成

‘n’

“normal planes”,即一個完整的平面接一個平面

‘i’

“interleaved planes”,即第一個平面的 16 位,然後是下一個平面的 16 位,依此類推... 我認為只有內建的 Atari 影片模式才使用此模式,沒有顯示卡支援此模式。

‘p’

“packed pixels”,即 <depth> 連續位代表一個畫素的所有平面;這是顯示卡上 8 個平面(256 種顏色)最常見的模式

‘t’

“true color”(或多或少是 packed pixels,但沒有顏色查詢表);通常深度為 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> 一起使用。 它告訴核心你的 gfx 顯示卡的顏色暫存器模型。 目前,實現了型別 “vga”(也是預設值)和 “mv300”(SANG MV300)。

對於 ProMST 或 ET4000 顯示卡,如果物理行長度與可見長度不同,則需要引數 <xres_virtual>。 對於 ProMST,xres_virtual 必須設定為 2048。 對於 ET4000,xres_virtual 取決於顯示卡的初始化。 如果你缺少相應的 yres_virtual:external 部分是舊版,因此我們不支援依賴於硬體的功能,如硬體滾動、平移或消隱。

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 為自身保留的記憶體量。公式相當複雜,但我可以給你一些提示

無散射-聚集

cmd_per_lun * 232 位元組

完全散射-聚集

cmd_per_lun * 約 17 Kbytes

<scat-gat>

散射-聚集表的大小,即可以合併到一個 SCSI 命令中的磁碟上連續請求的數量。合法值介於 0 和 255 之間。預設值:255/0。注意:由於 ST-DMA 無法進行散射-聚集,因此此值在 Falcon 上強制為 0。不使用散射-聚集會嚴重影響效能。

<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 表示關閉標記佇列支援,所有其他值 > 0 表示對支援它的目標使用標記佇列。預設值:目前關閉,但當已證明標記佇列處理是可靠的時,可能會更改。

標記佇列意味著可以向一個 LUN 發出多個命令,並且 SCSI 裝置本身會對其請求進行排序,以便可以以最佳順序執行它們。並非所有 SCSI 裝置都支援標記佇列 (:-().

4.5 switches=

語法:

switches=<交換機列表>

使用此選項,您可以切換一些硬體線路,這些線路通常用於啟用/停用某些硬體擴充套件。例如 OverScan、超頻等...

<交換機列表> 是以下專案的逗號分隔列表

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>:<子選項...>

<fbname> 引數指定幀緩衝區的名稱,有效選項為 amifb, cyber, ‘virge’, retz3clgen,前提是相應的幀緩衝區裝置已編譯到核心中(或編譯為可載入模組)。 <fbname> 選項的行為在 2.1.57 中已更改,因此現在建議指定此選項。

<子選項> 是下面列出的子選項的逗號分隔列表。此選項的組織方式類似於 Atari 版本的 “video” 選項 (4.1),但子選項較少。

5.1.1) 影片模式

同樣,類似於 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:<字型名稱>

指定在文字模式下使用的字型。在功能上與 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=<子選項...>

這些選項影響 A590/A2091、A3000 和 GVP Series II SCSI 控制器。

<子選項> 是下面列出的子選項的逗號分隔列表。

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 以永遠不允許斷開連線,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 的記憶體。這對於某些系統(例如具有 A3640 加速器的 A3000 和 A4000,修訂版 3.0)很有用,這些系統在使用 DMA 訪問晶片記憶體時遇到問題。預設值為 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。正確的設定取決於您的控制器,應由驅動程式自動檢測。一個示例是 24 位區域,它由 0x00fffffe 的掩碼指定。