Manpages

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/.