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 prostředky nezbytné pro start jsou přístupné. 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. Natažení DOSu včetně ovladače a poté natažení 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 hledá konkrétní řetězce (řekněme `foo') je propojeno 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á bootsetups, aby našlo řetězec, zda je řetězec registrován. Jestliže ano, je zavolána funkce, připojené k `foo' (foo_setup()) a jsou jí podány parametry 3, 4, 5 a 6, tedy 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 programu init, který máte instalován, abyste získali seznam parametrů, které init 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 /etc/init, pak /bin/init, potom /sbin/init, nakonec /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á se použije při síťovém zavádění.

  `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é 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. Přímě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řipojil 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. Například parametry:

    reserve=0x300,32 bla=0x300

říká všem ovladačům, aby, kromě ovladače bla, vynechali adresy od 0x300 do 0x3ff.

  `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, 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 pokaždé, ale příště už určitě.

  `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ána na disk. Zprávy s prioritou větší než console_loglevel jsou současně poslána 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 swap (virtuální paměť). 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í diskovou paměť. 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 než pro ramdisk. 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ě přirozená čísla.

  `load_ramdisk=N'
Jestliže je N=1, nahraj ramdisk, jestliže to je 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 `ramdisk=N'
Nastaví maximální velikost ramdisku na N kB. Implicitně 4096 (4 MB). Parametr ramdisk=N je zde jen kvůli kompatibilitě a neměl by se používat.

  `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 - poté jsou data 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 `sub-zaří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é levnější SCSI zařízení nejsou schopny 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

Detailní rozbor lze najít v README.st ve zdrojovém textu 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 controller

    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. Detaily viz /usr/src/linux/drivers/scsi/README.g_NCR5380.

  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í IOMEGA PPA3

    ppa=iobase[,speed_high[,speed_low[,nybble]]]

Zde je iobase adresa paralelního portu (implicitně 0x378), speed_high je zpoždění dat v mikrosekundách (implicitně 1), speed_low je zpoždění portu pro jiné akce (implicitně 6) a nybble je logická hodnota `force nybble (4-bit) mode' (implicitně 0=ne). Viz /usr/src/linux/drivers/scsi/README.ppa.

  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

The 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). Viz soubor README.ide v linux/drivers/block.

  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 pouze tři hodnoty (Stopa/Hlava/Sektory) a více méně vás 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

Typ je hodnota specifická pro výrobce (0=generic; 1=DTC; 2,3,4=Western Digital, 5,6,7=Seagate; 8=OMTI). Jediný rozdíl mezi různými čísly typu pro stejného výrobce je řetězec určený pro detekci BIOSu. 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.

CD-ROMy (Non-SCSI/ATAPI/IDE)

  Rozhraní Aztech
Syntaxe pro tento 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.

  MicroSolutions `backpack' CDrom
Syntaxe:

    bpcd=iobase

  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 pro toto CD-ROM rozhraní je:

    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 jednotkou (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 README.fd v linux/drivers/block. 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.

  floppy=0,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 or floppy=address,two_fdc
Sděluje ovladači, že máte dva řadiče. O druhém se předpokládá, že je na adrese address, 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).

  floppy=0,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 or 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 Readme.Linux v adresáři linux/drivers/sound. 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ě (10 --> a ...) 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 nejí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ů. Detaily viz /usr/src/linux/drivers/net/README.baycom.

  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='
Od jádra 1.3.75 lze nastavit, které porty se budou požívat a které nikoli. To je výhodné například když nechcete, aby ovladač použil všechny porty pro tiskárnu, takže pak jej mohou využít jiné ovladače (jako PLIP, PPA). Formát parametru je jednoduchý: jedná se o seznam párů v/v, irq. Například, lp=0x3bc,0,0x378,7 použije port 0x3bc bez přerušení (dotazování) a použije přerušení 7 pro port 0x378. Port 0x278 (je-li přítomen) se neprohledá, protože vyhledávání funguje jen nebyl-li argument `lp=' použit. Pro úplný zákaz ovladače použijte 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.

AUTOŘI
Linus Torvalds (a mnoho jiných)

VIZ TÉŽ
klogd(8), lilo.conf(5), lilo(8), mount(8), rdev(8) Významné části této manuálové stránky jsou převzaty z Boot Parameter HOWTO (verze 1.0.1) napsaného Paulem Gortmakerem. O trochu více informací můžete najít v tomto (či novějším) HOWTO.