Provided by: manpages-zh_1.5-1_all bug

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=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