Provided by:
manpages-zh_1.5-1_all 
NAME
bootparam - 介紹Linux核心的啟動參數
y敘
Linux 核心在啟動的時唹i以接受指定的"命令行參數"或"啟動參數".
在通常情況下,由於核心有可能無法識別某些硬體,
或可能將某些硬體識別為不正確的配置,因此,
這些參數可以被用來提供正確的硬體配置參數。
當Linux核心被BIOS直接啟動的時 (比如說你的核心是從使用了 "cp zImage
/dev/fd0" 命令製造的 Linux 啟動軟碟來啟動的),
你無法指定任何的啟動參數。
因此,為了能夠指定啟動參數,你必須使用某些能夠傳遞啟動參數的軟體, 例如
LILO 或 Loadlin。 為了使用很少的參數來改變的核心配置, 可以使用
rdev,查看 rdev8lilo8lilo.conf(5).`init=...'
這荓珧夆捊ㄗ悎痐葥鶡畾阞漯鴝l化命令。如果它沒有被設置,
或者沒有被找到的話,核心會去嘗試調用 /etc/init, 然後是 /bin/init,
然後是 /sbin/init, 最後是 /bin/sh ,如果都失敗了,就會提示一茞妤`信息。
`nfsaddrs=...'
該啟動參數設置 nfs(網路檔案系統)啟動地址為指定的字符串C
該啟動地址被用於網路啟動中。
`nfsroot=...'
該動參數設置 nfs(網路檔案系統)根目錄名為指定字符串。
如果該字符串不是以'/'、','或者一-
蚍r開始的,則該字符串加上"/tftpboot/"的前綴。
`no387'
(只有當CONFIG_BUGi386被定義後才有效) 某些 i387 協處理器在使用 32
位保護模式時會出現錯誤。 例如,一些-
期的ULSI-387芯片在處理浮點運算時會出現死鎖的情況。
使用"no387"啟動參數可以讓Linux忽略你的算術協處理器的存在。
當然,這時你就必須將你的核心編譯成為支持數學仿真模式。
`no-hlt'
(只有當CONFIG_BUGi386被定義後才有效) 某些朽薊 i486DX-100
的處理器芯片在使用 "halt" 時會出現問題, 使用這-
茷令後它不會正常的返回到操作模式。 使用 "no-halt" 指令告訴 Linux
在沒有事情可做的時唌A 只是執行一茧L-
的循環指令,而不是讓CPU進入"halt"模式。 這樣就可以令人-
怢洏帠o些有缺陷的芯片來運行 Linux。
`root=...'
這荌捊i訴核心在啟動的時唻洏枺茬]備被作為根檔案系統。 其預設-
O你在編譯核心的時埭N所確定的根設備。 如果你想n蚹儭蚧,比如說,將第二-
茬n碟驅動器作為根設備, 你可以使用 "root=/dev/fd1" (根設備也可以用
rdev(8)/dev/" 部分的描z只是出於傳統習慣。
你也可以通過使用數字形式的主/次設備號指定根設備,
但這是很笨拙和不方便的方法。 (例如,/dev/sda3 的主設備號是
8,次設備號是 3, 所以你也可以使用 "root=0x0803" 來指定根設備。)
`ro'`rw'
"ro" 選項告訴核心使用"只讀"方式裝配檔案系統。 這樣可以讓"檔案一-
P性檢查"程式 (fsck程式,用來檢查磁碟的工具,類似 DOS 的 scandisk
程式) 能夠在一種所謂"靜止"
(也就是說沒有任何對檔案系統的寫操作)的檔案系統中執行。 需-
n進行寫操作的進程必須等到該檔案系統使用 "讀/寫"方式-
奐s裝配以後才能進行, 例如,使用了"mount -w -n -o remount /"命令。
(請查看 mount(8))
"rw" 選項告訴核心使用"可讀寫"方式裝配檔案系統。這是預設C
只讀方式和可讀寫方式的選擇可以使用 rdev(8). 來設定。
`reserve=...'
該參數用來設定保留區域,使得該區域的 I/O 端口不會被檢測。該命令的格式是
reserve=iobase,extent[,iobase,extent]...
在某些情況下你的機器也許必須避免設備驅動程式檢測
(自動檢測)某些指定區域的設備。 這些情況有可能是因為由於檢測會導-
P硬體錯誤,或者硬體會被錯誤地識別,
又或者你只是不想核心對該硬體進行初始化。
reserve(保留)啟動參數指定一茪τ檢測的 I/O 端口保留區。
設備驅動程式不會檢測保留區域的 I/O 端口,
除非其他的啟動參數明確的指定需n去檢測。
例如,命令行
reserve=0x300,32 blah=0x300
表示設置保留 I/O 區域 0x300 到 0x31f(共32蚨搕f) 不會被 `blah'
程式以外的驅動程式所檢測。
`mem=...'
PC 規範定義的返回記憶體數的 BIOS 調用最大可以返回 64MB 記憶體。 Linux
使用這 BIOS 調用檢測機器安裝了多少記憶體。 如果你擁有超過 64MB
的記憶體,就可以使用這荌捊i訴 Linux 你的記憶體數。 該i以是 10
進制的或者是 16 進制的(加上 0x 的前綴), 延伸檔名也可以加上 "k" (憧H
1024)或 "M" (憧H 1048576)。 下惇O Linux 初始人 Linus 對 "mem="
參數使用的聲明: "核心能夠接受任何你給予的 'mem=xx' 參數,
但是如果你欺騙它的話,它遲朵|讓你死的很難看。 參數用來指定最高位的 RAM
地址,所以 'mem=0x1000000' 表示你擁有 16MB 的記憶體。
而對於96MB記憶體的機器來說你應該設置為 'mem=0x6000000'。
注意注意注意:有些機器可能會將記憶體高端設置為 BIOS 所使用,
所以你可能將不能全部擁有 96MB 地址空間。 反之,有些芯片可以將包括 BIOS
的物理記憶體影射到記憶體高端去, 所以,你可以用的實際空間可能會是
96MB+384kB。 但是如果你告訴 Linux
核心你擁有的記憶體超出你的實際記憶體的話,將會發生很糟糕的事情。
也許躲得過初一,躲不過十丑C"
`panic=N'
在預設情況下,核心並不會在異常後奐s啟動系統, 但是這-
荌捊i以指定核心在發生異常後 N 秒後奐s啟動(如果 N>0)。 這茞妤`時-
也可以使用 "echo N>/proc/sys/kernel/panic" 來設定。
`reboot=[warm|cold][,[bios|hard]]'
(只有當 CONFIG_BUGi386 被定義的時堋荌捊~起作用) 從 2.0.22
版本後的核心開始,reboot 命令在預設情況下使用冷啟動。 你可以使用
"reboot=warm" 來進行老版本所的預設的熱啟動方式。
(冷啟動意味著對所有的硬體設備進行奐s設置,
但是也有可能令在磁碟緩沖區中尚未寫到磁碟上的數據被破壞。
熱啟動的優點是速度比較快。) 在預設情況下,
n求鍵盤控制器向機器發出可以奐s啟動的低電位脈沖是很困難的,
但是至少有一種類型的主板不會這樣工作。 選項 "reboot=bios" 將用 BIOS
的設置代替跳線。
`nosmp'M `maxcpus=N'
(該參數只有當 __SMP__ 參數被定義的時啎~有效) 命令行選項 "nosmp" 或
"maxcpus=0" 將會禁止激活 SMP(對稱多處理)功能, 選項 "maxcpus=N" 制在
SMP 方式下工作的 CPU 最大數目為 N.
}o數
`debug'
核心信息被傳遞給核心的日誌守護進程 klogd 使得它-
怉鈰鰴Q記錄在磁碟中。優先級高於 console_loglevel
的信息也可以在控制台上被顯示出來。
(如果想了解信息優先級,可以去查看<linux/kernel.h>檔案。)
在預設情況下,所有比調試信息級別高的信息都會被寫入日誌檔案。 但是這-
荓珧夆捊熙]置,可以使得核心將 DEBUG(調試信息)級別的信息寫到日誌裏。
console loglevel 也能夠在系統運行時通過使用 klogd 來設置。 請看
klogd(8).
`profile=N'
用來激活一荇痐葥O錄程式。 如果你需-
n了解核心在什麼地方消耗其CPU周期,可以通過設置 prof_shift 為一茷D零-
蚇E活核心記錄程式。 可以通過在編譯核心的時圊定 CONFIG_PROFILE
]可以通過 "profile=" 選項來指定 prof_shift 的C 當 prof_shift
通過以上方式指定為 N,或通過 CONFIG_PROFILE_SHIT 的方式指定,
或者直接使用其預設 2 的時唌A 這蚧表示記錄程式使用 prof_shift
荇伅▲★j進行記錄: 每荇伅▲★j是一荇厊褽w答。 當系統執行核心代碼的時-
唌A一荌O數器的|不斷的增加。
profile[address >> prof_shift]++;
鴝l的配置檔案可以從 /proc/profile. 中讀到。或者你也可以使用像
readprofile.c 之類的工具來閱讀配置檔案。任何寫到 /proc/profile
中的操作將清除記數器。
`swap=N1,N2,N3,N4,N5,N6,N7,N8'
設置控制核心的虛擬存儲交換算法的 8 荌捊C這8荌捊O max_page_age,
page_advance, page_decline, page_initial_age, age_cluster_fract,
age_cluster_min, pageout_weight, bufferout_weight。 只能用於核心控制。
`buff=N1,N2,N3,N4,N5,N6'
設置核心緩存管理的 6 荌捊A分別是 max_buff_age, buff_advance,
buff_decline, buff_initial_age, bufferout_weight, buffermem_grace。
同樣也只能用於核心控制
O數
(該參數只在核心使用 CONFIG_BLK_DEV_RAM 進行編譯後才有效)
在通常情況下,在 Linux 下使用一荌O憶體虛擬磁碟(RAMDISK)並不是一-
茼n的方法 - 因為系統會自動、高效的使用可用的記憶體。
但是當用軟碟啟動的時唌]或者當建立一荓珧妘n碟的時唌^,
將軟碟的內容讀到一荌O憶體虛擬磁碟中是非常有用的。
另外的情況也有可能是有一些模塊(或者是檔案系統又或者是硬體的)
必須在主磁碟被訪問前被調到記憶體中來。
在 1.3.48 版本的 Linux 中,ramdisk 的操作被徹底的改變了。 在 1.3.48
以前的版本中,記憶體是靜態分配的,"ramdisk = N" 參數提供記憶體的大小。
(這些也能夠在核心被編譯的時堀Q設置,或者也可以使用
rdev(8).來進行設置) 從 1.3.48
開始,記憶體虛擬磁碟開始使用高速緩存,而且可以動態的增加其空間。
如果需n了解有關最新的記憶體虛擬磁碟設置(比如你n了解怎麼使用 rdev(8)
來進行ramdisk的設置) 請查看 /usr/src/linux/Documentation/ramdisk.txt.
有關的參數一共有四荂A兩茯O布爾變量,兩茯O整型C
`load_ramdisk=N'
如果 N=1,載入一荌O憶體虛擬磁碟。如果
N=0,不載入記憶體虛擬磁碟(這是預設^。
`prompt_ramdisk=N'
如果 N=1,需n提示插入軟碟。(這是預設^ 如果
N=0,沒有提示。(因此,這荌捊羶楔]不會需n)
`ramdisk_size=N' `ramdisk=N'
設置記憶體虛擬磁碟的最大空間為 N kB。預設O 4096 kB (4MB)。
`ramdisk_start=N'
設置啟動塊數]也就是記憶體虛擬磁碟從軟碟的多少偏移量位置開始)為 N。
由於緊跟在記憶體虛擬磁碟後悸漪O核心映像檔案,所以這茬]置是必n的。
`noinitrd'
(只有核心在編譯時使用了 CONFIG_BLK_DEV_RAM 標誌和
CONFIG_BLK_DEV_INITRD 標誌時才會有效) 目前,我-
怜禰誘W可以通過編譯核心使其支持使用初始化記憶體虛擬磁碟
(initrd:Initial Ramdisk)。當啟用 initrd 的時唌A
啟動進程會載入核心和一茪w經初始化的記憶體虛擬磁碟, 然後核心會將 initrd
轉變為一"普通的"記憶體虛擬磁碟,
並將它激活為可讀寫的根設備。接下來,會被執行 /linuxrc,
"真正的"根檔案系統被激活,而 initrd 檔案系統則被轉移到 /initrd 目錄下。
最後順序執行正常的啟動程式(比如說是 /sbin/init 程式)。
如果希望得到關於 initrd 的詳細的介紹,可以參考
/usr/src/linux/Documentation/initrd.txtD
自然,'noinitrd' 參數告訴核心,儘管核心是按照使用 initrd
的參數來編譯的, 但是也不需n使用我怳W探yz的過程。但是,仍然保留 initrd
的所有數據到 /dev/initrd. 目錄下。
(該設備只能被使用一次,數據在最後一茖洏 initrd
的進程被關閉後會釋放掉) /dev/initrd.)
SCSIiobase 第一紎CSI主設備佔用的I/O端口。它用 16 進制的數據指定,一般介於
0x200 到 0x3ff 之間。
irq SCSI 卡設置的硬體中斷號。具體的決於 SCSI 卡的具體n求,
一般使用的中斷號是 5,7,9,10,11,12 和 15。
其他的中斷號一般會被一些外設所佔用,比如說,IDE
接口的硬碟,軟碟驅動器,串口等等。
scsi-id SCSI 適配器在 SCSI 總線上使用的用來標識自赤疑悝O號碼(ID)。
只有一部分 SCSI 適配器允許你改動該 ID 的A大部分都是被固化好的。 預設-
@般是 7,可是,在 Seagate 和Future Domain TMC-950 的板卡上是 6。
parity 是否允許 SCSI 適配器在交換數據的時唻洏峏_偶效驗。 指定一茷D零-
A奇偶效驗會起用,如果指定為零則不會啟動奇偶效驗。 同樣,不是所有的
SCSI 適配卡支持選擇奇偶效驗的啟動參數。
`max_scsi_luns=...'
一 SCSI 設備能夠使用一些包括它自己在內的"子設備"。
最常用的例子是現在的 SCSI CD-ROM 設備能夠同時處理多張光碟。
每張光碟使用"邏輯單元號碼"(LUN)來確定其位置。
當然,大部分設備,比如硬碟,磁帶機都只能處理一茬]備,因此它怐 LUN
會被設置為 0 一些設p上有缺陷的 SCSI 設備一旦發現 LUN
號碼不為零時,就可能不再繼續工作。 因此,如果在編譯的時唻S有設置
CONFIG_SCSI_MULTI_LUN 標誌, 新的核心將使用 0 作為預設C
如果需n在啟動的時圊定 LUN 的A可以使用 "max_scsi_luns=n"
作為啟動參數, 而 n 是一茪j於 1 小於 8 的數C 為了避免上探y-
z的問題,使用 n=1 可以避免那些設備的造成的錯誤。
SCSIatm
一些 SCSI 磁帶設備的啟動設置能夠使用下悸漁璁”荈i行:
st=buf_size[,write_threshold[,max_bufs]]
前悸漕瑧數字指定單元的大小(kB),預設的 buf_size 是 32kB,最大的-
i以指定為 16384kB。 write_threshold 是磁帶得到的緩存區大小,預設的是
30kB。 其最大的緩存抩琱ㄕP的驅動設備的蚍荓o到不同的A預設O兩-
茬]備。 預設的格式可能像下掖o樣
st=32,30,2
你能夠在核心鴝l碼的 scsi 目錄下的 README.st 中看到所有的細節。
Adaptec aha151x, aha152x, aic6260, aic6360, SB16-SCSItm
在這一句中 aha 數N表適配卡類型,aic 數磳僁A配卡的 SCSI 芯片類型,
也包括像 Soundblaster-16 這樣的 SCSI 設備。
SCSI 主設備探測程式將從已經安裝好的 BIOS 中進行查找,
如果沒有的話,該檢測將不會找到你的設備。
那麼,你就必須使用以下格式的啟動參數:
aha152x=iobase[,irq[,scsi-id[,reconnect[,parity]]]]
如果驅動程式是以調試模式編譯的話,第六蚧能夠被指定設置調試的級別。
其他的參數已經在上探yz過了。o一提的是 reconnect 參數如果是非零-
N能夠允許設備"斷連和奐s連接"。下惇O一茖狺l。
aha152x=0x340,11,7,1
n注意到的是參數必須按指定的順序來設定, 這意味著如果你需-
n指定奇偶參數的話你就必須指定其他的所有參數。
Adaptec aha154xtm
aha1542 系列的適配卡上有一 i82077 軟碟控制器,aha1540 系列的卡沒有。
這種卡叫做總線主控卡,它怉鈰鰴q過參數的設置"合理"的與其他設備共享總線。
它怐滷珧夆捊N像下掖o樣:
aha1542=iobase[,buson,busoff[,dmaspeed]]
通常可用的 iobase |是 0x130,0x134,0x230,0x234,0x330,0x334
其中的一荂C 相容的卡能夠允許使用其他C
buson, busoff 磳靰漪O該卡佔用 ISA 總線的時間(以微秒p)。預設O 11
微秒開,4 微秒關, 這樣其他的卡(比如說基於 ISA 總線的 LANCE
以太網卡)就能夠有機會訪問 ISA 總線。
dmaspeed N表直接存儲訪問 (DMA) 的傳輸速度 (以MB/秒為單位)。 預設-
O 5MB/秒。 較新版本的卡允許你使用軟體設置來選擇該-
A老版本的卡使用跳線來設置。 如果你的主板支持的話,你能夠將該ㄟ爸
10MB/秒。 如果使用 5MB/秒以上的傳輸速度,你就應該進行很小心的實驗。
Adaptec aha274x, aha284x, aic7xxxtm
這些板卡能夠接受像下掖o樣格式的參數:
aic7xxx=extended,no_reset
extended A如果是非零的話,表明大容量磁碟的擴展轉換模式可以被使用。而
no_reset p果是非零的話,告訴驅動程式在設置 SCSI 卡後奐s啟動時不n-
奐s設置 SCSI 總線。
AdvanSys SCSI Hosts configuration (`advansys=')
AdvanSys 驅動程式能夠接收(最多) 4 I/O 地址用於來探測 AdvanSys SCSI
卡。 n注意的是這些]如果使用了它怴^並不會對 EISA 總線或者 PCI
總線的檢測有任何作用。 它怚u能用來檢測 ISA 總線和 VLB 總線型的卡。
另外,如果驅動程式是使用調試模式編譯的話, 調試級別能夠通過加入一
0xdeb[value] 參數來設定。 value 可以是 0-f(16進制),代表可以得到多達
16 荅襲O的調試信息。
AM53C974
AM53C974=host-scsi-id,target-scsi-id,max-rate,max-offset
BusLogic SCSI Hoststm (`BusLogic=')
BusLogic=N1,N2,N3,N4,N5,S1,S2,...
作為更深層次的討論,我怢茪尷R一下 BusLogic 命令行參數,參考一下
/usr/src/linux/drivers/scsi/BusLogic.c
(在我看的核心版本中是3149-3270行). 下悸漱憒r是一段精辟的摘錄
參數 N1-N5 是整數。參數 S1 是字符串。N1 是適配卡的 I/O 地址。 N2
是標記隊列深度(Tagged Queue Depth), 是為那些支持標記隊列(Tagged
Queue)的目標設備而設置的。 N3 是總線停滯時間(以秒p), 這是表示從
SCSI 適配卡奐s啟動 SCSI 總線到發出一 SCSI 指令之間的時間。 N4
是區域選項(只適合特定的單蚞A配卡) N5 是全局選項(針對所有的適配卡)
字符串參數用來對於標記隊列控制
(TQ:Default,TQ:Enable,TQ:Disable,TQ:<Per-Target-Spec>),
出錯處理(ER:Default,ER:HardReset,ER:BusDeviceReset,ER:None,ER:<Per-
Target-Spec>) 和適配卡檢測(NoProbe,NoProbeISA,NoProbePCI)。
EATA/DMAtm
預設的需n檢測的 I/O 端口能夠使用以下的參數來改變:
eata=iobase,iobase,....
Future Domain TMC-16x0tm
fdomain=iobase,irq[,adapter_id]
Great Valley Products (GVP) SCSItm
gvp11=dma_transfer_bitmask
Future Domain TMC-8xx, TMC-950tm
tmc8xx=mem_base,irq
在這裏, mem_base O卡所使用的記憶體映射的 I/O 區域C 常見的|是
0xc8000,0xca000,0xcc000,0xce000,0xdc000,0xde000。
IN2000tm
in2000=S
這裏 S 是一茈帠r號分隔的關鍵字 [: 可以被識別的關鍵字(有可能伴隨著-
^是: ioport:addr, noreset, nosync:x, period:ns,
disconnect:x,debug:x, proc:x. 如果你n了解這些參數的功能的話,請看
/usr/src/linux/drivers/scsi/in2000.c.
NCR5380M NCR53C400tm
這荓珧夆捊穘`以下的格式
ncr5380=iobase,irq,dma
或者
ncr53c400=iobase,irq
如果卡沒有使用中斷,那麼 IRQ 255(0xff)將被用來屏蔽中斷。 IRQ 254
表示自動檢測,更多的細節可以從下悸漱憟韝仃o到。
/usr/src/linux/drivers/scsi/README.g_NCR5380.
NCR53C8xxtm
ncr53c8xx=S
這裏 S 是一茈帠r號分隔的關鍵字 [: 可以被識別的關鍵字(有可能伴隨著-
^是: mpar (master_parity), spar (scsi_parity),disc (disconnection),
specf (special_features), ultra (ultra_scsi),fsn (force_sync_nego),
tags (default_tags), sync (default_sync), verb (verbose), debug
(debug), burst (burst_max). 如果需n了解這些漸\能,請參考
/usr/src/linux/drivers/scsi/ncr53c8xx.c.
NCR53c406atm
ncr53c406a=iobase[,irq[,fastpio]]
指定 irq = 0 適用於無中斷驅動模式。 設置 fastpio = 1 設置為快速的處理器
I/O(PIO)模式,0 是慢速的處理器 I/O(PIO)模式。
IOMEGA PPA3tm
ppa=iobase[,speed_high[,speed_low[,nybble]]]
這裏 iobase 的O並口的地址(預設O 0x378), speed_high
是在數據處理時延遲時間(以微秒為單位,預設O 1), speed_low
是端口其他狀態下的延遲時間(以微秒為單位,預設O 6), nybble 是一
BOOL A表示是不是強制使用半茼r節(4茼魽^的工作模式, 預設O"假"。
更多細節請參考 /usr/src/linux/drivers/scsi/README.ppa.
Pro Audio Spectrumtm
PAS16 適配卡使用 NC5380 SCSI
芯片,較新的版本支持免跳線模式。啟動參數是下列格式:
pas16=iobase,irq
不同點是你可以指定 IRQ 的O 255, 這樣你就可讓驅動程式不-
n使用中斷,當然這樣會飢C性能。 通常 iobase 的O0x388。
Seagate ST-0xtm
如果你的卡沒有在啟動的時堀Q檢測到,你需n使用下戛璁〞滷珧夆捊G
st0x=mem_base,irq
這裏 mem_base O卡所使用的記憶體映射的 I/O 區域C 通常的|是
0xc8000,0xca000,0xcc000,0xce000,0xdc000,0xde000。
Trantor T128tm
這種卡也是使用 NCR5380 芯片組,並且接受以下的選項:
t128=mem_base,irq
mem_base 的0xc8000,0xcc000,0xdc000,0xd8000。
UltraStor 14F/34Ftm
檢測出的預設的 I/O 端口列表能夠被
eata=iobase,iobase,....
所改變。
WD7000tm
wd7000=irq,dma,iobase
Commodore Amiga A2091/590 SCSItm
wd33c93=S
這裏 S 是一茈帠r號分隔的字符串選項。 可以被識別的選項字是:
nosync:bitmask, nodma:x, eriod:ns, disconnect:x, debug:x, clock:x,
next. 詳細說明請參考 /usr/src/linux/drivers/scsi/wd33c93.c.
wX器
IDEwX/`hd=cyls,heads,sects[,wpcom[,irq]]'項
這些選項用來指定磁碟的物理參數。前惜T荌捊O必須的。 柱/磁頭/磁道三-
荌捊N被 fdisk 程式所使用。 如果是 IDE 的硬碟驅動器,"寫補償"-
|被忽略掉。 指定的 IRQ
O接口程式所使用的,所以其實並不能被稱為真正意義上的指定的驅動器參數。
`hd=serialize'項
具有雙 IDE 接口的 CMD-640 芯片在設p上是有缺陷的。 這荅妘摒O當第二-
荓竣f與第一荓竣f被同時使用時,將會破壞你的數據。 使用這-
蚇龠粟鈰魖洇A的接口永遠不會同時使用。
`hd=dtc2278'`hd=noprobe'`hd=nowerr'`hd=cdrom'ST-506X{ (`hd=')
標準的磁碟驅動程式可以接受磁碟的物理參數,就像上悸 IDE 設備那樣。
注意無論怎樣它都只希望接受三荌捊]柱/磁頭/磁道)--
過多或過少的參數都會被忽略掉。 當然,它只接受 "hd=" 這樣的參數,像
"had=" 參數這樣的在這裏是無效的。下惇O它的格式:
hd=cyls,heads,sects
如果裝有兩蚨牬陓X動器,上悸漱u作需n契_的進行以配置第二蚨牬陓X動器。
XTX{ (`xd=')
如果你不幸使用了一些些老掉牙的、8 位的和使用驚人的 125kB/s
傳輸速度的卡, 這些參數會對你有幫助。 如果它-
怳ㄞ鈳Q識別的話,你只能使用以下格式的啟動參數:
xd=type,irq,iobase,dma_chan
type 定該卡的製造廠商,下惇O廠商的庣奰釭漲W字: 0= 普通卡; 1=DTC;
2,3,4=Western Digital,5,6,7=Seagate; 8=OMTI.
同一廠家出廠的不同類型的卡的區別由 BIOS 字符串來指定,如果指定
type,這些也就沒有用了。
函數 xd_setup() 不檢查這些A並且會假設你已經輸入了全部的四蚧。 不-
n讓它失望。 這裏有一 WD1002 控制器示範用法--假設 BIOS
被關掉/移走了--使用預設的 XT 控制參數
xd=2,5,0x320,3
Syquest's EZ*ez=iobase[,irq[,rep[,nybble]]]
IBM MCA/usr/src/linux/Documentation/mca.txt.
PS/2 ESDI hard disks
有可能按下悸漱隤k在啟動時指定你所需n的磁碟物理參數。
ed=cyls,heads,sectors.
對於ThinkPad-720, n加上下悸瑪龠
tp720=1.
IBM Microchannel SCSI Subsystemtm
ibmmcascsi=N
這裏 N 是子系統的pun (SCSI ID)
CD-ROMs (Non-SCSI/ATAPI/IDE)
Aztechf
語法是:
aztcd=iobase[,magic_number]
如果你設置 magic_number 0x79, 那麼該驅動程式嘗試在任何一-
茈憚儐漫T件上掠鶡獢C其他的ㄦ|被忽略掉。
MicroSolutions `backpack'Xf
語法:
bpcd=iobase
CDU-31AM CDU-33A Sonyf
這種光碟驅動器的接口會出現在一些 Pro Audio Spectrum 聲卡及 其他支持
Sony 驅動接口的卡上。語法是:
cdu31a=iobase,[irq[,is_pas_card]]
指定一茯 0 的 IRQ 告訴驅動程式該硬體不支持中斷(如一些 PAS 卡)。
如果你的卡支持中斷,就n使用它怴A這樣可以減少驅動程式的 CPU 佔用時間。
對於 is_pas_card 選項來說,如果使用 Pro Audio Spectrum 的卡則應該輸入
"PAS",否則就不需n指定了。
CDU-535 Sonyf
該光碟驅動器接口的語法如下
sonycd535=iobase[,irq]
如果你n指定 IRQ 爾隉A0 可以被當成一蚍郅x位被填到 I/O 地址中。
GoldStarf
該光碟驅動器的接口語法是:
gscd=iobase
ISP16Xf
語法:
isp16=[iobase[,irq[,dma[,type]]]]
(三蚞蒱,一茼r符串)。如果 type 的O "noisp16"
的話,接口不會被配置。 其他可以被接受的 type ]括: `Sanyo", `Sony',
`Panasonic' 和 `Mitsumi'.
Mitsumiwait_value 被用來設置為內部故障的超時時間。能否實現還需-
n依靠在編譯時的定義而定。 Mitsumi FX400 是一種不使用 mcd 驅動程式的
IDE/ATAPI 光碟驅動器。.
Mitsumi XA/MultiSessionOptics Storagef
語法為:
optcd=iobase
Phillips CM206f
語法是:
cm206=[iobase][,irq]
該驅動程式會假定所給的 3 到 11 之間的O設置的 IRQ A 數b 0x300 到
0x370 之間的O I/O 端口號, 因此你可以指定一荂A或者可以指定兩-
荂A且沒有特殊的位置n求。 它也接受 "cm206=auto" 參數來實現自動檢測。
The Sanyof
語法是:
sjcd=iobase[,irq[,dma_channel]]
SoundBlaster Prof
語法是:
sbpcd=iobase,type
這裏 type 是下掖o些字符串的一種(大小寫敏感的): `SoundBlaster',
`LaserMate', 或 `SPEA'. I/O
地址是光碟驅動器接口的,並不是聲卡的一部分。
H]備
不同的驅動程式使用不同的參數,但是至少它抭ㄦ|n使用一 IRQ,一 I/O
端口地址, 一茼W字。下惇O最為普遍的參數設置格式:
ether=irq,iobase[,param_1[,...param_8]],name
第一茷D數滌捊Q作為名字使用。 param_n 的-
]如果可以使用的話)對於不同的卡/驅動程式來說往往具有不同的含義。
典型的 param_n 的峔茷定像共享的記憶體地址,接口選擇,DMA 通道等等。
該參數最普遍的用法是強7i行第二以太網卡的檢測。
因為作為預設的情況來說,核心只是檢測第一塊以太網卡。 下-
惇O實現第二以太網卡檢測的簡單方法:
ether=0,0,eth1
注意這裏 IRQ 和 I/O 的ㄛO 0,這茠磳剻需n進行自動檢測。
以太網的 HowTo 檔案對於多網卡的使用,網卡/驅動程式的指定, param_n 數-
漕洏帠ㄕ雩埴茠漱雯苤C
有興趣的讀者可以參考該文件中對自己擁有的卡的說明。
nXX{式
軟碟驅動程式選項有很多,它怞b linux/drivers/block 目錄下的 README.fd
中列舉出來。 這些信息就是摘自那蚗仵蛂C
floppy=mask,allowed_drive_mask
設置允許進行掩碼設置的驅動程式將掩碼設置為 mask。 在預設情況下,只有每-
茬n碟控制器的 0 號和 1 號單元允許這樣做。 這樣規定的-
鴞]是有一些非標準的硬體(華碩的 PCI 主板)在訪問 2 號或者 3 號單元時,
會令鍵盤發生問題。該選項差不多已被 cmos 選項所取代了。
floppy=all_drives
為所有的軟碟驅動器設置驅動器掩碼。 如果你在一茬n碟控制器上擁有兩-
蚥X動器的話,你就可以這麼做。
floppy=asus_pci
設置掩碼為只允許 0 號和 1 號單元。(預設^
floppy=daring
告訴軟碟驅動程式你有一茪騆好的軟碟控制器。
這樣的設置可以使你的設備運行得更加有效和順利,
但是對於某些特定的控制器,這可能會引起錯誤,也可能會加快某些操作的速度。
floppy=0,daring
告訴軟碟驅動程式你的軟碟控制器需n謹慎的運行。
floppy=one_fdc
告訴軟碟驅動程式你只有一茬n碟控制器。(預設^
floppy=two_fdc or floppy=address,two_fdc
告訴軟碟驅動程式你擁有兩茬n碟控制器。第二荓惆蹌僭眾]位於 address C
如果 address 的S有給出的話,0x370 被當成假想位置。
floppy=thinkpad
告訴軟碟驅動程式你有一 Thinkpad 電腦。Thinkpad
的磁碟變更線路與通常的機器相反。
floppy=0,thinkpad
告訴軟碟驅動程式你沒有一 Thinkpad 電腦。
floppy=drive,type,cmos
設置 CMOS 的類型為 type C條件是驅動器在掩碼中被置"允許"。 如果你有兩-
茈H上的軟碟驅動器(在實際的 CMOS 設置中只能設置兩荂^, 或者你的 BIOS
使用的是非標準的 CMOS 類型,這是非常有用的。 把前惆瑧軟碟驅動器的 CMOS
設置為 0(預設^ 使得軟碟驅動程式從實際的 CMOS 設置中讀取它怐澈H息。
floppy=unexpected_interrupts
當接收到一茞妤`時顯示相應的消息。(預設行為)
floppy=no_unexpected_interrupts or floppy=L40SX
如果出現異常,也不n提示。IBM L40SX 在某些特定的顯示模式下需n這蚇龠窗C
(這看起來像是視頻和軟碟之間有某種交互關系。
異常中斷只會影響性能,所以能夠被安全的忽略)
ndX{式
聲卡驅動程式也能夠接受啟動參數來替代編譯時使用的C 這種方法並不-
o推薦,因為這樣會更復雜。 參數說明在
/linux/drivers/sound/Readme.Linux
檔案中描敘。它接受如下格式的啟動參數:
sound=device1[,device2[,device3...[,device10]]]
這裏每 deviceN 是類似於 0xTaaaId 這樣格式的A其中各字符表示為:
T - 設備類型: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16,
7=SB16-MPU401。
aaa - 16 進制的 I/O 地址。
I - 16 進制表示的中斷地址 。
d - DMA 通道號。
這樣的格式看起來是很混亂的,你最好在編譯的時埭N使用你知道的C 使用
"sound=0" 的參數將會完全屏蔽聲卡驅動程式。
ISDNX{式
ICN ISDNX{式
語法:
icn=iobase,membase,icn_id1,icn_id2
這裏 icn_id1 和 icn_id2 是兩茼r符串,用來為核心消息提供卡的名字。
PCBIT ISDNX{式
語法:
pcbit=membase1,irq1[,membase2,irq2]
這裏 membaseN 是第 N 塊卡其共享記憶體的地址,irqN 是第 N 塊卡的中斷C
預設O IRQ 5 和記憶體地址 0xD0000。
Teles ISDNX{式
語法:
teles=iobase,irq,membase,protocol,teles_id
這裏 iobase 是卡的 I/O 端口地址,membase,irq 的意義與上悸漱@樣,
teles_id 是唯一的 ASCII 字符串標識。
fX{式
RISCom/8hfX{ (`riscom8=')
語法:
riscom=iobase1[,iobase2[,iobase3[,iobase4]]]
更多的細節請參考 /usr/src/linux/Documentation/riscom8.txt.
DigiBoardX{ (`digi=')
如果該選項被使用,則應該使用 6 荌捊C 語法:
digi=status,type,altpin,numports,iobase,membase
參數可以是整數A也可以是字符串C 如果使用了字符串,則 iobase 和
membase 參數需n使用 16 進制的形式。 整型參數鷇陽陛G status (允許(1)
或屏蔽(0)該卡), type (PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)),
altpin (允許(1)或屏蔽(0) alternate pin排列), numports (該卡的端口數目),
iobase (該卡設置的I/O 端口號 (16進制)), membase
(記憶體視窗的基地址(16進制)). 所以,下惆-
茪ㄕP格式的參數形式其實是一樣的:
digi=E,PC/Xi,D,16,200,D0000
digi=1,0,0,16,0x200,851968
更多的細節請參考 /usr/src/linux/Documentation/digiboard.txt.
Baycom/Modem
語法:
baycom=iobase,irq,modem
只有三荌捊F如果有多張卡,就使用多虒茤R令。 modem 參數是一茼r符串,O
ser12,ser12*,par96,par96* 中的一荂C 這裏 "*" 代表使用軟體 DCD。ser12
和 par96 用來選擇所支持的 modem 類型。 更多的細節請參考
/usr/src/linux/drivers/net/README.baycom.
SoundcardLu ModemX{式
語法:
soundmodem=iobase,irq,dma[,dma2[,serio[,pario]]],0,mode
除了最後一荌捊H外其他的都是整型F 你可能注意到參數中有一 0,需-
n該數O因為在設置代碼中有一蚇欞~。 模式參數是一茼r符串,其語法是
hw:modem。 這裏 hw 是"sbc","wss","wssfdx" 中的一蚧,modem 是
"afsk1200","fsk9600" 中的一蚧。
CLX{式
`lp='
對於 1.3.75 版本以後的核心來說,
你可以告訴列印驅動程式你使用了或沒有使用茖疆皞搕f。
如果你不想讓列印驅動程式取得所有可用的並口,後者是非常有用的,
這樣其他的驅動程式(比如說 PLIP,PPA)就能夠使用那些端口。
參數的格式是多 I/O 地址及 IRQ 對。舉例來說, lp=0x3bc,0,0x378,7
將使用位於 0x3bc 地址的端口, "無 IRQ" (輪詢 IRQ) 模式,然後使用位於
0x378 地址,IRQ 為 7 的端口。 位於地址 0x278
的端口(如果有的話)不會被檢測, 因為自動檢測模式只發生於沒有 "lp="
參數的情況下。 如果需n屏蔽列印驅動程式的話,使用 lp=0 就可以實現。
WDT500/501`bmouse=irq'
總線型滑鼠驅動程式只能接受一荌捊A也就是該硬體需n的 IRQ C
`msmouse=irq'
對於微軟相容滑鼠來說參數與前掄`線滑鼠是一樣的。
ATARI`no-scroll'
該選項告訴控制台驅動程式不n使用硬體滾動模式
(滾動模式在將螢幕圖像移動到圖形儲存器中而不是移動數據時非常有效)。
一些 Braille 機器會需n它的。
@者
Linus Torvalds
考
klogd(8), lilo.conf(5), lilo(8), mount(8), rdev(8).
該手冊隍漱j部分內容來自 Paul Gortmaker 寫的 Boot Parameter
HowTo(1.0.1)版本。 在該 HowTo 中還可以找到更多的有關信息。
[]
billpan <billpan@yeah.net>
[]
2000/11/06
mlinuxan:
http://cmpp.linuxforum.net