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
Nastavení BusLogic SCSI (’BusLogic=’)
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,....
Nastavení Future Domain TMC−16x0
fdomain=iobase,irq[,adapter_id]
Nastavení Great Valley Products (GVP) SCSI řadiče
gvp11=dma_transfer_bitmask
Nastavení Future Domain TMC−8xx, TMC−950
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.
Nastavení IN2000
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.
Nastavení NCR53C8xx
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.
Nastavení NCR53c406a
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,....
Nastavení WD7000
wd7000=irq,dma,iobase
Nastavení řadiče Commodore Amiga A2091/590
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
Výměnné disky Syquest’s EZ*
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.
Nastavení IBM Microchannel SCSI Subsystem
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
Ovladač RISCom/8 Multiport Serial
(’riscom8=’)
Syntaxe:
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/.