table of contents
BOOTPARAM(7) | Linux - příručka programátora | BOOTPARAM(7) |
JMÉNO¶
bootparam - Úvod do parametrů pro zavedení jádra Linuxu
POPIS¶
Jádro operačního systému Linux akceptuje 'parametry na příkazové řádce' neboli 'parametry pro zavedení operačního systému' při startu systému. Obecně, takto lze jádru předat informace o hardware, které si jádro nemůže zjistit samo nebo aby se předešlo chybné detekci ze strany jádra.
Když se jádro zavádí pomocí BIOSu (například z diskety, kam bylo jádro kopírováno příkazem 'cp zImage /dev/fd0'), není žádná možnost zaváděcí parametry nastavit. Proto, aby bylo možno tyto parametry specifikovat, je nutno použít speciální program, jako je LILO nebo loadlin. Navíc je možno zapsat některé parametry přímo do jádra pomocí rdev, viz rdev(8).
Program LILO (LInux LOader) napsaný Wernerem Almesbergerem je nejpoužívanějším zaváděcím programem. Poskytuje možnost zavádět několik různých jader a ukládá si své nastavení do textového souboru. (Viz lilo(8) a lilo.conf(5).) LILO umí zavádět DOS, OS/2 Linux, FreeBSD, atd., a je poměrně flexibilní.
Dalším významným zavaděčem je 'LoadLin', což je DOSovský program, který umožňuje spustit Linuxové jádro z DOSu (včetně parametrů), přičemž předpokládá, že určité prostředky nezbytné pro start jsou dostupné. Tento přístup je výhodný, chcete-li startovat Linux z DOSu.
Toto je také výhodné, jestliže používáte hardware, které je nutno nastavit speciálním DOSovým ovladačem před použitím. Obvyklým příkladem jsou zvukové karty 'SoundBlaster Compatible', na kterých DOSový ovladač nastaví několik interních registrů pro SB kompatibilní režim. Zavedení DOSu včetně ovladače a poté zavedení Linuxu loadlinem zabrání resetu karty při startu počítače.
Seznam parametrů¶
Příkazová řádka jádra je rozdělena na řetězce (parametry) oddělené čárkami, Většina parametrů má tvar:
- jméno[=hodnota_1][,hodnota_2]...[,hodnota_10]
kde 'jméno' je jednoznačné klíčové slovo, použité pro rozpoznání, pro kterou část jádra se případné hodnoty (jsou-li uvedeny), použijí. Povšimněte si, že hodnota 10 je skutečným limitem, protože současný kód neumí zpracovat více než 10 hodnot oddělených čárkami pro jedno klíčové slovo. (Ve zvlášť složitých případech však můžete použít totéž klíčové slovo s dalšími parametry, pokud je to podporováno danou setup funkcí ovladače.)
Většinu rozpoznávání lze najít v linux/init/main.c. Jádro nejprve hledá speciální parametry jako 'root=', 'nfsroot=', 'nfsaddrs=', 'ro', 'rw', 'debug' a 'init'. Jejich význam je popsán níže.
Dále pak prochází seznamem setup funkcí (v poli bootsetups), kde kontroluje, zda zadaný řetězec (řekněme 'foo') je propojen s funkcí ('foo_setup()') pro určitý ovladač či část jádra. Jestliže předáte jádru řádek foo=3,4,5,6 tak jádro prohledá pole bootsetups, aby zjistilo, zda je řetězec registrován. Jestliže ano, je zavolána funkce k 'foo' přidružená (foo_setup()) a jsou jí předány parametry 3, 4, 5 a 6 tak, jak se objevily na příkazové řádce.
Cokoli ve tvaru 'foo=bar', co není akceptováno jako parametr, se bude interpretovat jako proměnná prostředí, která má být nastavena. Příkladem budiž použití 'TERM=vt100' jako zaváděcí parametr.
Všechny parametry, které nebyly použity jádrem, ani nebyly použity pro nastavení proměnných prostředí, jsou předány procesu jedna jako jeho parametry (tímto procesem je obvykle init). Nejobvyklejším takovým parametrem je slovo single, které říká programu init, aby nastavil jednouživatelský režim a nespouštěl obvyklé démony. Prohlédněte si manuálovou stránku o verzi programu init, který máte instalován, abyste získali seznam parametrů, které akceptuje.
Obecné zaváděcí parametry (nespojené s ovladači)¶
- 'init=...'
- Nastavuje příkaz pro proces jedna, který bude spuštěn po natažení jádra. Jestliže není uvedeno (nebo jej nelze najít), jádro zkusí nejprve /sbin/init, potom /etc/init, pak /bin/init, potom /bin/sh a vyhlásí kernel panic, selže-li i poslední varianta.
- 'nfsaddrs=...'
- Nastavuje zaváděcí adresu pro nfs na daný řetězec. Je použita při zavádění ze sítě (net boot).
- 'nfsroot=...'
- Nastavuje jméno nfs kořenu na daný řetězec. Jestliže řetězec nezačíná '/' nebo ',' nebo číslicí, pak se před něj připíše '/tftpboot/'. Toto jméno se použije při zavádění ze sítě.
- 'no387'
- (Pouze bylo-li definováno CONFIG_BUGi386.) Některé čipy koprocesoru i387 mají chybu, která se projeví v chráněném režimu procesoru. Například, některé z prvních ULSI-387 mohou kompletně zamrznout systém při operacích v pohyblivé řádové čárce. Je-li použit parametr 'no387', pak Linux ignoruje koprocesor, i v případě, že jej nalezne. V tomto případě je nutno přeložit jádro s emulací koprocesoru!
- 'no-hlt'
- (Pouze bylo-li definováno CONFIG_BUGi386.) Některé z prvních i486DX-100 mají problémy s instrukcí 'hlt', protože se neumějí vrátit do operačního režimu po jejím provedení. Jestliže použijete 'no-hlt' Linux místo instrukce hlt použije nekonečnou smyčku a nebude CPU zastavovat. Toto umožňuje použít Linux i majitelům takto chybných čipů.
- 'root=...'
- Tento parametr říká jádru, které
zařízení má být použito jako
kořenový souborový systém pro zavedení
systému. Implicitně se tento parametr nastavuje v
době překladu jádra jako kořenové
zařízení, na kterém je jádro
překládáno. Na překrytí tohoto
implicitního nastavení na druhou disketovou jednotku
použijte 'root=/dev/fd1'. (Kořenové
zařízení lze nastavit také
příkazem rdev(8).)
Kořenové zařízení lze zadat symbolicky nebo číselně. Symbolické zadání má tvar /dev/XXYN, kde XX určuje typ zařízení ('hd' pro ST-506 kompatibilní harddisk, kde Y je v rozmezí 'a'-'d'; 'sd' pro SCSI kompatibilní disk, kde Y je mezi 'a'-'e'; 'ad' pro Atari ACSI disk, kde Y je mezi 'a'-'e', 'ez' pro a Syquest EZ135 výměnný disk na paralelním portu, kde Y='a', 'xd' pro XT kompatibilní disk, kde Y je buď 'a' nebo 'b'; 'fd' pro disketu, kde Y číslo disketové jednotky — fd0 bude DOSová jednotka 'A:', fd1 bude 'B:'), Y je písmeno nebo číslo jednotky a N je (desítkové) číslo oblasti na tomto disku (neplatí pro diskety). Novější jádra dovolují mnoho jiných typů (nejvíce pro CDROMy: nfs, ram, scd, mcd, cdu535, aztcd, cm206cd, gscd, sbpcd, sonycd a bpcd. (Typ nfs určuje síťové zavedení; ram odkazuje na ram disk.)
Poznamenejme, že tato jména nemají nic společného se zařízeními v adresáři /dev; to je jen čirá konvence.
Komplikovanější a méně přenositelná specifikace kořenového zařízení sestává z čísel zařízení major/minor. (Příklad: /dev/sda3 má major 8, minor 3, takže 'root=0x803' je alternativní zápis.)
- 'ro'a 'rw'
- Parametr 'ro' říká jádru, aby připojilo
kořenový souborový systém pouze pro
čtení, takže může proběhnout
kontrola konzistence souborového systému (pomocí
fsck). Žádný proces nemůže na tento
souborový systém psát dokud není
'pře-připojen' i pro zápis, například
příkazem 'mount -w -n -o remount /'. (Viz také
mount(8).)
Parametr 'rw' říká jádru, aby připojilo kořenový souborový systém pro čtení i zápis; toto je implicitní nastavení.
Parametry rw a ro lze nastavit i pomocí rdev(8).
- 'reserve=...'
- Ochrana intervalu V/V adres před testováním. Parametry mají tvar:
- reserve=iobase,extent[,iobase,extent]...
Na některých počítačích je třeba zakázat ovladačům přístup při hledání zařízení (auto-probing) do vybraného intervalu adres. Tím lze obejít zařízení, které špatně reaguje na automatickou detekci, nebo lze zabránit nesprávné detekci či identifikaci, nebo dosáhnout například zakázání přístupu na zařízení, které nechceme jádrem inicializovat.
Parametr reserve určuje rozsah V/V adres, který nemá být procházen při hledání. Žádný ovladač nesmí na dané adresy přistupovat, ledaže by mu tak bylo explicitně řečeno jiným zaváděcím parametrem.
Například parametry:
- reserve=0x300,32 bla=0x300
- říkají všem ovladačům, aby, kromě ovladače 'bla', vynechaly adresy od 0x300 do 0x31f.
- 'mem=...'
- Služba BIOSu, daná specifikací PC, je schopna
ohlásit nejvýše 64MB RAM. Linux tuto službu
používá, aby při startu systému zjistil
množství instalované paměti. Jestliže
máte více 64MB RAM, použijte tento parametr pro
předání její skutečné velikosti.
Hodnotu lze zadat desítkově nebo
šestnáctkově (s předponou 0x), navíc je
možno použít přípony 'k' (* 1024) a 'M'
(* 1048576). Zde je Linusův komentář k parametru
'mem='.
Jádro bude akceptovat jakoukoli hodnotu parametru 'mem=xx', kterou mu podstrčíte. Jestliže mu zalžete, systém dříve nebo později zhavaruje. Tento parametr určuje nejvyšší použitelnou adresu RAM, takže například 'mem=0x1000000' znamená, že máte 16MB RAM. Pro počítač s 96MB RAM zadejte 'mem=0x6000000'.POZOR POZOR POZOR: některé počítače používají vršek paměti pro BIOS, takže je možné, že nelze adresovat celých 96MB. Naopak také může nastat, že RAM překrytá ROM BIOSem se mapuje za fyzický konec paměti; pak byste měli poslední přístupnou adresu na 96MB+ 384kB. Jestliže řeknete Linuxu, že má více paměti, než je skutečnost, systém zhavaruje. Možná ne hned, ale nakonec určitě.
Můžete také použít parametr 'mem=nopentium' k vypnutí 4 MB pagetables pro jádra nakonfigurovaná pro IA32 systémy s procesorem pentium či novějším.
- 'panic=N'
- Nastane-li kernel panic, systém se implicitně nebude pokoušet znovu startovat, nastavíte-li však tento parametr, pak bude jádro znovu startovat po uplynutí N vteřin (je-li N > 0). Toto lze nastavit také pomocí "echo N > /proc/sys/kernel/panic".
- 'reboot=[warm|cold][,[bios|hard]]'
- (Pouze bylo-li definováno CONFIG_BUGi386.) Od verze 2.0.22 je reboot implicitně studeným startem. Chcete-li použít starší implicitní chování, použijte 'reboot=warm'. (Studený start může být vyžadován pro reset nějakého hardware, naproti tomu může zničit ještě nezapsaná data z vyrovnávací paměti. Teplý start může být rychlejší.) Implicitně je reboot typu hard (řadič klávesnice je požádán o vygenerování signálu RESET, nicméně existuje nejméně jeden motherboard, kde toto nefunguje. Pak je nutno použít variantu 'reboot=bios', která místo toho požádá BIOS o reboot.
- 'nosmp'"a 'maxcpus=N'
- (Pouze je-li definováno __SMP__.) Parametr 'nosmp' či 'maxcpus=0' zakáže podporu více procesorů; parametr 'maxcpus=N' omezí počet aktivních procesorů na N.
Parametry pro vývojáře jádra¶
- 'debug'
- Zprávy od jádra jsou posílány démonu klogd a tak mohou být zaznamenány na disk. Zprávy s prioritou větší než console_loglevel jsou současně poslány na konzolu. (Definice priorit viz <linux/kernel.h>.) Implicitně je tato proměnná nastavena tak, aby zapisovala na disk cokoli důležitějšího než jsou trasovací zprávy (debug). Tento parametr způsobí, že budou zaznamenány i zprávy s prioritou DEBUG. Toto nastavení lze rovněž měnit za běhu systému pomocí parametru pro klogd(8).
- 'profile=N'
- Je možno zapnout tzv. kernel profiling, jestliže chceme zjistit, kde jádro spotřebovává čas CPU. Profiling je zapnut nastavením proměnné prof_shift na nenulovou hodnotu. Toho lze dosáhnout buď nastavením CONFIG_PROFILE při překladu jádra nebo parametrem 'profile='. Povšimněte si, že hodnota prof_shift bude buďto zadaná hodnota nebo hodnota proměnné prostředí CONFIG_PROFILE_SHIFT (je-li nastavena) nebo implicitně 2. Význam této hodnoty je přesnost takového počítání: každý takt (pokud je CPU aktivní v jádře) zvětšuje počítadlo:
- profile[address >> prof_shift]++;
Neupravenou informaci o profilingu lze za běhu získat čtením /proc/profile. Pro porozumění této informaci lze použít například readprofile.c. Zápis do /proc/profile vynuluje počítadla.
- 'swap=N1,N2,N3,N4,N5,N6,N7,N8'
- Nastaví parametry pro algoritmy swapu (virtuální paměťi). Hodnoty jsou přiřazeny po řadě jako max_page_age, page_advance, page_decline, page_initial_age, age_cluster_fract, age_cluster_min, pageout_weight, bufferout_weight. Využitelné jen pro vývojáře nebo testery jádra.
- 'buff=N1,N2,N3,N4,N5,N6'
- Nastaví parametry pro vyrovnávací paměť jádra. Hodnoty jsou přiřazeny po řadě jako max_buff_age, buff_advance, buff_decline, buff_initial_age, bufferout_weight, buffermem_grace. Využitelné jen pro vývojáře nebo testery jádra.
Parametry pro využití ramdisku¶
(Pouze je-li jádro přeloženo s CONFIG_BLK_DEV_RAM.) Obecně není dobrý nápad používat ramdisk pod Linuxem — systém umí využít volnou paměť daleko efektivněji. Na druhou stranu při startu (nebo při vytváření zaváděcích disket) bývá výhodné nahrát obsah diskety do ramdisku. Dále muže být vyžadováno, aby některé moduly byly nahrány do jádra předtím, než se poprvé přistoupí na hlavní disk.
Ve verzi jádra 1.3.48 se významně změnila implementace ramdisku. Předtím byla paměť alokována staticky (jako parametr 'ramdisk=N'; toto lze nastavit při překladu nebo pomocí rdev(8).) Nyní používá ramdisk vyrovnávací paměť a jeho velikost se mění podle potřeby. Pro podrobnější informace (např. jak použít rdev(8) v rámci nového chování ramdisku) viz /usr/src/linux/Documentation/ramdisk.txt.
Jsou zde čtyři parametry, dvě logické hodnoty a dvě celá čísla.
- 'load_ramdisk=N'
- Jestliže je N=1, nahraj ramdisk, jestliže N=0, nenahrávej jej (toto je implicitní nastavení).
- 'prompt_ramdisk=N'
- Pro N=1, jádro požádá o vložení diskety (implicitní nastavení). Pro N=0 jádro o nic nežádá. (tento parametr není nikdy potřeba)
- 'ramdisk_size=N'"nebo (zastaralé)'ramdisk=N'
- Nastaví maximální velikost ramdisku(ů) na N kB. Implicitně 4096 (4 MB).
- 'ramdisk_start=N'
- Nastaví číslo počátečního bloku (offset na disketě odkud bude ramdisk nahráván) na N. Toto má význam například pokud tatáž disketa obsahuje jak jádro tak ramdisk.
- 'noinitrd'
- (Pouze je-li jádro přeloženo s
CONFIG_BLK_DEV_RAM a CONFIG_BLK_DEV_INITRD.) Nyní je
možno přeložit jádro s podporou initrd.
Jestliže je tato varianta povolena, při startu
systému se nahraje jak jádro tak iniciální
ramdisk, který jádro poté změní na
'normální' ramdisk připojený pro
čtení i zápis jako kořenový svazek.
Poté je je spuštěn program /linuxrc; nato je
připojen skutečný kořenový svazek a
initrd je připojeno jako /initrd; nakonec je aktivována
obvyklá posloupnost zavádění (tj.
spuštění /sbin/init).
Pro podrobnější informaci viz /usr/src/linux/Documentation/initrd.txt.
Parametr 'noinitrd' zakazuje použití initrd i v případě, že jádro bylo přeloženou s podporou initrd. Data z initrd jsou přístupná přes /dev/initrd. (Toto zařízení může být použito jen jednou: data jsou uvolněna z paměti, jakmile poslední proces uzavře /dev/initrd.)
Zaváděcí parametry pro zařízení SCSI¶
Notace použitá v této sekci:
iobase -- první V/V port použitý SCSI adaptérem. Jsou uváděny v šestnáctkové soustavě, obvykle leží v intervalu od 0x200 do 0x3ff.
irq -- číslo přerušení, která je nastaveno při konfiguraci karty. Správné hodnoty závisí na typu karty, obvykle se jedná o jednu z hodnot 5, 7, 9, 10, 11, 12 a 15. Ostatní hodnoty jsou použity jinými obvyklými zařízeními jako IDE disky, diskety, sériové porty aj.
scsi-id -- ID, kterým se SCSI zařízení jednoznačně identifikuje v rámci jedné SCSI sběrnice. Pouze některé karty povolují tuto hodnotu nastavit, ostatní ji mají permanentně nastavenou bez možnosti změny. Obvyklá hodnota je 7, ale například karty Seagate and Future Domain TMC-950 používají 6.
parity -- zda SCSI adaptér očekává, že připojená zařízení používají paritu při komunikaci. Nastavení parametru na jedna kontrolu parity povolí, nula ji zakáže. Opět, ne všechny adaptéry povolují toto nastavit jako parametr.
- 'max_scsi_luns=...'
- Každé SCSI zařízení může
vnitřně obsahovat několik
'podzařízení'. Jako příklad
uveďme některou z novějších SCSI
CD-ROM, které jsou schopny pracovat s několika disky
najednou. Každý jednotlivý disk je pak
adresován jako 'Logical Unit Number' (LUN - číslo
logické jednotky) pro dané SCSI
zařízení. Na druhou stranu, drtivá
většina zařízení (např.
pevné disky nebo pásky) mají jenom jeden LUN,
který má hodnotu LUN 0.
Některá špatně navržená SCSI zařízení nejsou schopna pracovat jako jednotky s nenulovým LUN. Jestliže není při překladu jádra nastaveno CONFIG_SCSI_MULTI_LUN, pak bude jádro při startu testovat pouze LUN=0.
Pomocí parametru 'max_scsi_luns=n' lze při startu nastavit, kolik LUN se má testovat. Povolené hodnoty jsou od jedné do osmi. Hodnota n=1 zakazuje zkoušet jiné LUN než 0.
- Nastavení SCSI pásky
- Některé parametry pro SCSI páskový ovladač lze zadat následovně:
- st=buf_size[,write_threshold[,max_bufs]]
První dvě čísla jsou hodnoty v kB. Implicitní hodnota buf_size je 32kB, přičemž maximální hodnota, kterou lze zadat je až 16384kB. write_threshold je prahová hodnota obsazení vyrovnávací paměti pro provedení zápisu na pásku, implicitně je nastavena na 30kB. Hodnota max_bufs určuje největší povolený počet vyrovnávacích pamětí pro dané zařízení (implicitní hodnota je dvě). Příklad:
- st=32,30,2
- Podrobnosti jsou uvedeny v souboru Documentation/scsi/st.txt (nebo v případě starších jader drivers/scsi/README.st) ve zdrojovém kódu jádra.
- Nastavení Adaptecu aha151x, aha152x, aic6260, aic6360, SB16-SCSI
- Čísla za aha odpovídají kartám,
kdežto aic určují typ SCSI čipu
(včetně SoundBlaster-16 SCSI).
Testovací kód pro tyto adaptéry hledá nainstalovaný BIOS, a není-li nalezen, pak není nalezena ani karta. Zaváděcí parametry mají tuto formu:
- aha152x=iobase[,irq[,scsi-id[,reconnect[,parity]]]]
- Jestliže je ovladač přeložen s
povoleným laděním, šestý parametr
určuje úroveň výpisu
hlášení (debug_level).
Všechny tyto parametry jsou popsány na začátku této sekce, navíc parametr reconnect povoluje použít SCSI příkazy disconnect/reconnect, má-li tento parametr nenulovou hodnotu. Příklad použití:
- aha152x=0x340,11,7,1
- Pořadí parametrů je závazné, chcete-li nastavit paritu, musíte také nastavit iobase, irq, scsi-id a reconnect.
- Nastavení Adaptecu aha154x
- Série aha1542 obsahují na desce disketový řadič i82077, zatímco aha1540 nikoli. Toto jsou karty jsou tzv. busmastering (řízení přístupu ke sběrnici) a jejich parametry jsou určeny k zadaní pravidel pro používání sběrnice. Parametry:
- aha1542=iobase[,buson,busoff[,dmaspeed]]
- Povolené hodnoty iobase jsou: 0x130, 0x134, 0x230, 0x234, 0x330,
0x334. Klony mohou používat i jiné hodnoty.
Hodnoty buson, busoff určují dobu v mikrosekundách, po kterou karta ovládá sběrnici ISA. Implicitně je nastaveno buson 11us a busof 4us, takže i jiné karty (např. ISA LANCE Ethernet card) mají možnost k ISA sběrnici přistupovat.
Hodnota dmaspeed určuje rychlost (v MB/s), kterou smí DMA (Direct Memory Access - přímý přístup do paměti bez použití CPU) přistupovat do paměti. Implicitně je to 5MB/s. Novější varianty lze nastavit softwarově, starší mají jumpery. Povoleny jsou hodnoty až do 10MB/s (předpokládejme, že jej váš motherboard zvládne), nicméně s hodnotami nad 5 MB/s experimentujte opatrně.
- Nastavení Adaptecu aha274x, aha284x, aic7xxx
- Tyto karty akceptují parametry v následující formě:
- aic7xxx=extended,no_reset
- Nenulová hodnota extended indikuje, že je povolen rozšířený překlad adres pro větší disky. Nenulová hodnota no_reset signalizuje adaptéru, aby neresetoval SCSI sběrnici při startu systému.
- Nastavení AdvanSys SCSI ('advansys=')
- Ovladač AdvanSys akceptuje nejvýše čtyři v/v adresy, na kterých bude hledat kartu AdvanSys. Tyto hodnoty se použijí pro vyhledávání na sběrnicích ISA a VLB, nemají tedy žádný vliv na hledání na sběrnicích EISA nebo PCI. Jestliže byl ovladač přeložen pro ladění, lze zadat ještě další parametr ve tvaru 0xdeb, kde deb je z intervalu 0-f a nastavuje úroveň (množství zpráv).
- AM53C974
- AM53C974=host-scsi-id,target-scsi-id,max-rate,max-offset
- BusLogic=N1,N2,N3,N4,N5,S1,S2,...
- Pro vyčerpávající popis nastavení karty
BusLogic viz /usr/src/linux/drivers/scsi/BusLogic.c.
Níže uvedený text je jen jeho velmi
zkrácený výtah.
Parametry N1 - N5 jsou celá čísle, S1, ... jsou řetězce. N1 je V/V adresa, na které se karta nachází. N2 je 'Tagged Queue Depth' pro zařízení, které tuto funkci podporují. N3 je 'bus settle time' ve vteřinách. (doba, kterou má adaptér čekat po resetování sběrnice před vysláním prvního příkazu.) N4 je lokální nastavení (pro tento adaptér). N5 je globální nastavení (pro všechny adaptéry).
Řetězcové parametry jsou použity pro řízení Tagged Queuing (TQ:Default, TQ:Enable, TQ:Disable, TQ:<Per-Target-Spec>), pro Error Recovery (ER:Default, ER:HardReset, ER:BusDeviceReset, ER:None, ER:<Per-Target-Spec>), a pro způsob vyhledávání adaptéru (NoProbe, NoProbeISA, NoSortPCI).
- Nastavení EATA/DMA
- Implicitní seznam v/v portů pro hledání lze změnit pomocí
- eata=iobase,iobase,....
- fdomain=iobase,irq[,adapter_id]
- gvp11=dma_transfer_bitmask
- tmc8xx=mem_base,irq
- Hodnota mem_base je adresou, kam se mapuje v/v oblast, kterou tento adaptér používá. Obvykle jedna z hodnot: 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000.
- in2000=S
- kde S je čárkou oddělovaný seznam ve tvaru klíčové_slovo[:hodnota]. Rozpoznávaná slova jsou ioport:addr, noreset, nosync:x, period:ns, disconnect:x, debug:x, proc:x. Pro vysvětlení viz /usr/src/linux/drivers/scsi/in2000.c.
- Nastavení NCR5380 and NCR53C400
- Parametry mají tvar:
- ncr5380=iobase,irq,dma
- nebo
- ncr53c400=iobase,irq
- Jestliže adaptér nepoužívá přerušení, pak hodnota IRQ 255 (0xff) zakáže přerušení. Hodnota 254 znamená automatickou detekci. Podrobnosti jsou uvedeny v souboru Documentation/scsi/g_NCR5380.txt (nebo v případě starších jader drivers/scsi/README.g_NCR5380) ve zdrojovém kódu jádra.
- ncr53c8xx=S
- kde S je čárkou oddělovaný seznam ve tvaru klíčové_slovo[:hodnota]. Rozpoznávaná slova jsou: 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). Blíže viz /usr/src/linux/drivers/scsi/ncr53c8xx.c.
- ncr53c406a=iobase[,irq[,fastpio]]
- Irq = 0 pro režim bez použití přerušení. Fastpio = 1 pro rychlý pio režim, 0 pro pomalý.
- Nastavení Pro Audio Spectrum
- PAS16 používá čip NC5380 SCSI, přičemž novější modely podporují softwarové nastavení. Parametry mají tvar:
- pas16=iobase,irq
- Jediným neobvyklým nastavením může být hodnota IRQ 255, což zakáže adaptéru používat přerušení (s pochopitelnou ztrátou výkonnosti). Hodnota iobase je obvykle 0x388.
- Nastavení Seagate ST-0x
- Jestliže není adaptér automaticky rozpoznán při startu, je třeba zadat parametry ve tvaru:
- st0x=mem_base,irq
- Hodnota mem_base je adresou, kam se mapuje v/v oblast, kterou tento adaptér používá. Obvykle jedna z hodnot: 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000.
- Nastavení Trantor T128
- Tento adaptér je založen na čipu NCR5380 a akceptuje tyto parametry:
- t128=mem_base,irq
- Povolené hodnoty pro mem_base jsou: 0xcc000, 0xc8000, 0xdc000, 0xd8000.
- Nastavení UltraStor 14F/34F
- Implicitní seznam v/v portů pro hledání lze změnit pomocí
- eata=iobase,iobase,....
- wd7000=irq,dma,iobase
- wd33c93=S
- kde S je seznam parametrů oddělených čárkami. Rozpoznávané hodnoty jsou: nosync:bitmask, nodma:x, period:ns, disconnect:x, debug:x, clock:x, next. Viz také /usr/src/linux/drivers/scsi/wd33c93.c.
Pevné disky¶
- Parametry pro IDE Disky/CD-ROM
- Ovladač IDE akceptuje řadu parametrů, od geometrie
disku až po obcházení chyb specifických
zařízení. Specifické parametry jsou
zadány pomocí 'hdX=' kde X je v intervalu 'a'-'h'.
Parametry společné několika zařízením mají prefix 'hd='. Kombinace obou způsobů zadávání funguje podle očekávání.
Poznamenejme, že parametr 'hd=' může ve skutečnosti odkazovat na následující disk v seznamu (a, ..., h). Podrobnosti jsou uvedeny v souboru Documentation/ide.txt (nebo v případě starších jader drivers/block/README.ide) ve zdrojovém kódu jádra.
- Parametry 'hd=cyls,heads,sects[,wpcom[,irq]]'
- Specifikace fyzické geometrie disku. Pouze první tři parametry jsou povinné. Stopa/hlava/sektory jsou ty, které používá program fdisk. Hodnota wcomp (předkompenzace pro zápis) se pro IDE disky nevyužívá. IRQ je hodnota přerušení pro ovladač, na nějž je zařízení připojeno. (Toto není parametr specifický pro disk.)
- Parametr 'hd=serialize'
- Dvojité IDE rozhraní CMD-640 obsahuje chybu, která může za určitých okolností (na obě rozhraní se používají v tutéž chvíli) může zničit vaše data. Tento parametr říká, že požadavky na obě rozhraní se budou řadit do fronty, a tedy nikdy nebudou oslovena najednou obě rozhraní.
- Parametr 'hd=dtc2278'
- Tento parametr říká jádru, že máte rozhraní DTC-2278D. Ovladač se poté pokusí použít specifické příkazy pro povolení druhého IDE rozhraní a rychlejšího modu přenosu dat.
- Parametr 'hd=noprobe'
- Netestuj dané zařízení. Např.
- hdb=noprobe hdb=1166,7,17
- zakáže testování, ale nastaví geometrii, a tak je toto zařízení stane použitelné pro operační systém.
- Parametr 'hd=nowerr'
- Některá zařízení mají chybně stále nastavený příznak WRERR_STAT. Tento parametr povoluje obejití této chyby.
- Parametr 'hd=cdrom'
- Tento parametr říká, že namísto disku je připojena ATAPI CD-ROM. Obvykle je CD-ROM detekována a rozpoznána automaticky, ale v případě že se tak nestalo, toto je možná pomoc.
- Standardní parametry pro ST-506 Disk Driver ('hd=')
- Standardní ovladač akceptuje geometrii podobně jako IDE driver; očekává však přesně tři hodnoty (Stopa/Hlava/Sektory), v případě jiného počtu vás potichu ignoruje. Navíc rozumí pouze 'hd=' jako parametru, tedy 'hda=' není povolený zápis. Formát:
- hd=cyls,heads,sects
- Jestliže máte instalovány dva disky, opakujte parametry pro druhý disk.
- Parametry pro XT Disk Driver ('xd=')
- Jste-li jeden z těch nešťastníků, který používá tuto starou 8-bitovou kartu, která přenáší data 125kB/s, toto je příběh pro vás. Pokud není vaše karta rozpoznána automaticky, je třeba zadat tyto parametry:
- xd=type,irq,iobase,dma_chan
- Hodnota type je specifická pro výrobce,
překrývající autodetekci (viz zdrojový
kód jádra drivers/block/xd.c). Hodnota type je index
seznamu xd_sigs a v průběhu času byly typy
přidávány a ubírány, takže se
všechna čísla měnila. Dnes (Linux 2.5.0) jsou
typy 0=generic; 1=DTC 5150cx; 22,3=DTC 5150x; 4,5=Western Digital;
6,7,8=Seagate; 9=Omti; 10=XEBEC.
Funkce xd_setup() tyto hodnoty nekontroluje a navíc předpokládá, že jste zadali všechny čtyři. Zde je příklad pro řadič WD1002 se zakázaným BIOSem a s implicitními parametry:
- xd=2,5,0x320,3
- ez=iobase[,irq[,rep[,nybble]]]
ZAŘÍZENÍ IBM MCA BUS¶
Viz /usr/src/linux/Documentation/mca.txt.
- Pevné disky PS/2 ESDI
- V době startování je možné zadat geometrii:
- ed=cyls,heads,sectors.
- Pro Think-Pad, přidejte parametr
- tp720=1.
- ibmmcascsi=N
- kde N je pun (SCSI ID) daného subsystému.
- Rozhraní Aztech
- Syntaxe pro tento typ adaptérů je:
- aztcd=iobase[,magic_number]
- Jestliže nastavíte magic_number na 0x79, pak ovladač vyzkouší a spustí se i v případě, že nepozná verzi firmware. Jiné hodnoty jsou ignorovány.
- CD-ROMy přes paralelní port
- Syntaxe:
- pcd.driveN=prt,pro,uni,mod,slv,dly
pcd.nice=nice - kde 'port' je základní adresou, 'pro' je číslo protokolu, 'uni' slouží k výběru jednotky (pro zřetězená zařízení), 'mod' je mód (nebo -1 pro automatický výběr nejlepšího), 'slv' je 1 pokud má být slave, a 'dly' je small integer pro zpomalení přístupu na porty. Parametr 'nice' ovládá využívání volného času CPU ovladačem, zčásti na úkor rychlosti.
- CDU-31A and CDU-33A Sony Interface
- Toto rozhraní je na některých zvukových kartách Pro Audio Spectrum a na ostatních rozhraních formy Sony. Syntaxe:
- cdu31a=iobase,[irq[,is_pas_card]]
- Zadáním hodnoty IRQ 0 zakazujete použití
přerušení (některé PAS karty je
nepodporují). Jestliže vaše karta
přerušení podporuje, měli byste jej
využívat, protože snižuje
zatížení CPU ovladačem.
Hodnota is_pas_card má být pouze 'PAS', jestliže používáte kartu Pro Audio Spectrum, jinak nesmí být zadáno nic.
- CDU-535 Sony Interface
- Syntaxe pro toto CD-ROM rozhraní je:
- sonycd535=iobase[,irq]
- Je možno použít 0 jako implicitní hodnotu pro iobase, jestliže chcete zadat pouze IRQ.
- Rozhraní GoldStar
- Syntaxe pro toto CD-ROM rozhraní je:
- gscd=iobase
- Rozhraní ISP16 CD-ROM
- Syntaxe:
- isp16=[iobase[,irq[,dma[,type]]]]
- (tři čísla a řetězec). Je-li zadán jako 'noisp16', rozhraní nebude konfigurováno. Ostatní povolené hodnoty": 'Sanyo", 'Sony', 'Panasonic' a 'Mitsumi'.
- Rozhraní Mitsumi
- Syntaxe pro toto CD-ROM rozhraní je:
- mcd=iobase,[irq[,wait_value]]
- Hodnota wait_value je použita jako interní timeout pro ty, kteří mají problémy s jejich mechanikou (její použití lze povolit i zakázat při překladu jádra). Mitsumi FX-400 je IDE/ATAPI CD-ROM, který nepoužívá ovladač mcd.
- Rozhraní Mitsumi XA/MultiSession
- Toto je tentýž hardware jako výše, ale ovladač má některá rozšíření. Syntaxe:
- mcdx=iobase[,irq]
- Rozhraní Optics Storage
- Syntaxe pro tento typ adaptérů je:
- optcd=iobase
- Rozhraní Phillips CM206
- Syntaxe pro tento typ adaptérů je:
- cm206=[iobase][,irq]
- Ovladač předpokládá hodnoty mezi 3 a11 jako hodnoty IRQ a čísla mezi 0x300 a 0x370 jako adresy v/v portů, takže lze zadat jednu či obě hodnoty v jakémkoli pořadí. Také lze napsat 'cm206=auto' pro autoprobe.
- Rozhraní Sanyo
- Syntaxe pro tento typ adaptérů je:
- sjcd=iobase[,irq[,dma_channel]]
- Rozhraní SoundBlaster Pro
- Syntaxe pro tento typ adaptérů je:
- sbpcd=iobase,type
- kde typ je jeden z následujících (rozlišují se velká a malá písmena): 'SoundBlaster', 'LaserMate', or 'SPEA'. Hodnota iobase je ta, která patří k rozhraní, nikoli ta pro zvukovou kartu.
Ethernet¶
Různé ovladače mají různé parametry, ale obecně mají všechny IRQ, V/V adresu a jméno. Takže základní forma parametrů je:
- ether=irq,iobase[,param_1[,...param_8]],name
- První nečíselný parametr je
chápán jako jméno. Hodnoty param_n (jsou-li
použity) mají různý význam pro
různé adaptéry. Typicky určují adresu
sdílené paměti, výběr rozhraní,
kanál DMA aj.
Obvykle se používá tento parametr pro autoprobe druhé síťově karty (implicitně se hledá jen první):
- ether=0,0,eth1
- Poznamenejme, že hodnoty 0 pro IRQ a iobase nutí
ovladače k autodetekci.
Dokument Ethernet-HOWTO poskytuje dokumentaci a informace o tom, jak používat více síťových karet a také popis jednotlivých param_n pro různé adaptéry.
Ovladač pro řadič disketové jednotky¶
Ovladač pro diskety má mnoho parametrů, všechny jsou zmíněny v Documentation/floppy.txt (nebo v případě starších jader drivers/block/README.fd) ve zdrojovém kódu jádra. Tato informace pochází přímo odtud.
- floppy=mask,allowed_drive_mask
- Nastavuje bitovou masku povolených jednotek. Implicitně jsou povoleny jednotky 0 a 1 na každém ovladači. Důvodem je, že některé nestandardní motherboardy (ASUS PCI) posílají signály chybně do klávesnice jestliže se přistupuje na jednotky 2 a 3. Tento parametr je částečně překryt parametrem cmos.
- floppy=all_drives
- Povoluje hledání všech jednotek. Použijte, máte-li více než dvě floppy jednotky.
- floppy=asus_pci
- Nastavuje prohledávání na jednotky 0 a 1 (implicitní nastavení).
- floppy=daring
- Říká ovladači, že máte kvalitní řadič, což dovoluje efektivnější a plynulejší činnost, ale na některých řadičích může havarovat. Může zrychlit funkci jednotky.
- [přibližně] floppy=daring
- Říká ovladači, že nemáte 'daring' řadič (viz výše).
- floppy=one_fdc
- Sděluje ovladači, že máte jen jeden floppy řadič (implicitní nastavení).
- floppy=two_fdc"nebo floppy=adresa,two_fdc
- Sděluje ovladači, že máte dva řadiče. O druhém se předpokládá, že je na adrese adresa, není-li zadána, vezme se 0x370.
- floppy=thinkpad
- Sděluje ovladači, že máte Thinkpad (ten používá obrácenou konvenci pro signál diskchange).
- [přibližně] floppy=thinkpad
- Sděluje ovladači, že nemáte Thinkpad.
- floppy=drive,type,cmos
- Nastavuje cmos typ jednotky. Navíc povolí tuto jednotku v masce. To je výhodné, máte-li více než dvě jednotky (do cmos lze napsat pouze dvě) nebo používá-li váš BIOS nestandardní CMOS typ. Zadáte-li hodnotu cmos jako 0, pak se skutečná hodnota přečte z CMOS.
- floppy=unexpected_interrupts
- Vypiš varování, je-li zachyceno neočekávané přerušení (implicitně).
- floppy=no_unexpected_interrupts"nebo floppy=L40SX
- Nevypisuje nic při neočekávaném přerušení. Toto je požadováno např. pro laptop IBM L40SX v některých videomódech (vypadá to jako interakce mezi řadičem video a řadičem disket). Tato přerušení lze ignorovat, mají vliv pouze na rychlost.
Ovladač zvukových karet¶
I ovladač zvukové karty akceptuje startovací parametry pro překrytí implicitních hodnot. Není to však doporučováno, protože se jedná o nastavení poměrně komplexní a složité. Popis lze najít v souboru Documentation/sound/oss/README.OSS ve zdrojovém kódu jádra (drivers/sound/Readme.linux ve starších verzích). Akceptuje parametry ve tvaru:
- sound=device1[,device2[,device3...[,device10]]]
- kde každá hodnota deviceN má tvar 0xTaaaId"
T - typ zařízení: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16-MPU401
aaa - V/V adresa (šestnáctkově).
I - IRQ šestnáctkově (tj. 10=a, 11=b, ...)
d - kanál DMA.
Jak vidíte, je to poměrně zmatečné, takže lepší přeložit jádro s konkrétními hodnotami. Parametr ve tvaru 'sound=0' zakáže použití zvukové karty.
Ovladače ISDN¶
- Ovladač ICN ISDN
- Syntaxe:
- icn=iobase,membase,icn_id1,icn_id2
- kde icn_id1 a icn_id2 jsou dva řetězce, které budou kartu identifikovat v hlášeních jádra.
- Ovladač PCBIT ISDN
- Syntaxe:
- pcbit=membase1,irq1[,membase2,irq2]
- kde membaseN je sdílená paměť N-té karty a irqN je její IRQ nastavení. Implicitně je IRQ 5 a membase 0xD0000.
- Ovladač Teles ISDN
- Syntaxe:
- teles=iobase,irq,membase,protocol,teles_id
- kde iobase je v/v adresa karty, membase adresa její sdílené paměti, irq číslo přerušení a teles_id je jednoznačný ASCII identifikátor.
Ovladač sériového portu¶
- riscom=iobase1[,iobase2[,iobase3[,iobase4]]]
- Detaily lze najít v /usr/src/linux/Documentation/riscom8.txt.
- Ovladač DigiBoard ('digi=')
- Je-li tento parametr zadán, musí mít přesně šest hodnot. Syntaxe:
- digi=status,type,altpin,numports,iobase,membase
- Parametry je možno zadat jako čísla nebo řetězce. Jsou-li použity řetězce, pak iobase a membase musí být zadány šestnáctkově. Číselné parametry jsou (nemusí se zadat vždy všechny) v pořadí: status (povol(1) nebo zakaž(0) tuto kartu), type (PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)), altpin (povol(1) nebo zakaž(0) alternativní uspořádání pinů), numports (počet portů na této kartě), iobase (V/V port, na který je karta nastavena), membase (adresa sdílené paměti). Tedy, následují nastavení jsou ekvivalentní:
- digi=E,PC/Xi,D,16,200,D0000
digi=1,0,0,16,0x200,851968 - Detaily lze najít v /usr/src/linux/Documentation/digiboard.txt.
- Baycom Serial/Parallel Radio Modem
- Syntaxe:
- baycom=iobase,irq,modem
- Jsou zde přesně tři parametry; pro více adaptérů, zadejte více parametrů 'baycom='. Modemový parametr je řetězec, který má jednu z hodnot ser12, ser12*, par96, par96*. Zde * znamená softwarové DCD a ser12/par96 přepíná mezi podporovanými typy modemů. Podrobnosti jsou uvedeny v souboru Documentation/networking/baycom.txt (nebo v případě starších jader drivers/net/README.baycom) ve zdrojovém kódu jádra.
- Ovladač Soundcard radio modem
- Syntaxe:
- soundmodem=iobase,irq,dma[,dma2[,serio[,pario]]],0,mode
- Všechny parametry až na poslední jsou přirozená čísla; nevýznamná 0 je vyžadována kvůli chybě v nastavovacím kódu. Parametr mod je řetězec ve formě hw:modem, kde hw je jeden z sbc, wss, wssfdx a modem je jeden z afsk1200, fsk9600.
Ovladač tiskárny¶
- 'lp='
- Syntaxe:
- lp=0
lp=auto
lp=reset
lp=port[,port...] - Můžete říct ovladači tiskárny,
které porty má používat a které ne.
Druhá možnost se hodí, pokud nechcete, aby
ovladač tiskárny zabral všechny dostupné
paralelní porty, takže je mohou využívat
jiné ovladače (např. PLIP, PPA).
Formát parametru je vícero jmen portů. Například lp=none,parport0 použije první paralelní port pro lp1 a zakáže lp0. Pro úplný zákaz ovladače tiskárny je možno použít lp=0.
- Ovladač WDT500/501
- Syntaxe:
- wdt=io,irq
Ovladače myši¶
- 'bmouse=irq'
- Ovladač busmouse očekává jeden parametr, a to číslo přerušení.
- 'msmouse=irq'
- Totéž platí pro ovladač msmouse.
- Nastavení myši ATARI
- atamouse=threshold[,y-threshold]
- Je-li zadán jen jeden parametr, je použit jak pro x-threshold, tak pro y-threshold. Jinak je první hodnota x-threshold, a druhá y-threshold. Povolené hodnoty jsou od 1 do 20, implicitně 2.
Video hardware¶
- 'no-scroll'
- Tento parametr říká ovladači konzole aby neinstaloval hardwarový posun (kdy je posun řešen posouváním adresy začátku obrazovky místo posuvu dat). Vyžadováno některými Braillovými konzolami.
DALŠÍ INFORMACE¶
lilo.conf(5), klogd(8), lilo(8), mount(8), rdev(8)
Významné části této manuálové stránky jsou odvozeny z Boot Parameter HOWTO (verze 1.0.1) napsaného Paulem Gortmakerem. V tomto (či novějším) HOWTO můžete najít více informací. Aktuální zdroj informací je /usr/src/linux/Documentation/kernel-parameters.txt.
TIRÁŽ¶
Tato stránka je součástí projektu Linux man-pages. Popis projektu a informace o hlášení chyb najdete na http://www.kernel.org/doc/man-pages/.
2007-12-16 | Linux |