LILO (Linux Loader) je v informatice univerzální zavaděč (boot loader) operačního systému. LILO bylo původně vytvořeno Wernerem Almesbergerem, ale v současnosti je jeho vývojářem John Coffman. V minulosti (kolem roku 2000) byl standardní součástí většiny linuxových distribucí. Původně nahradil zavaděč loadlin a v současnosti (2016) je místo něj používán zavaděč GRUB.

LILO
Menu pro výběr operačních systémů
Menu pro výběr operačních systémů
VývojářWerner Almesberger
Aktuální verze24.2 (22. listopadu 2015)
Vyvíjeno vC a jazyk symbolických adres
Typ softwarubootloader, bootování a svobodný software
Licence3-clause BSD License
Webwww.joonet.de/lilo/
Některá data mohou pocházet z datové položky.

Charakteristika

editovat

LILO je zavaděč, jehož úkolem je při startu počítače zavést do operační paměti počítače jádro operačního systému a aktivovat ho. Jádro zůstává v paměti počítače aktivní až do jeho vypnutí a řídí chod celého systému. Činnost, při které LILO zavádí jádro do paměti, se nazývá bootování.

Zavaděč LILO není závislý na operačním systému ani systému souborů, ze kterého je jádro systému zaváděno. Je schopen nabootovat Linux, DOS, ale i systém Microsoft Windows a to nejen z pevného disku, ale například i z diskety. Při startu zavaděče je možné zvolit až ze šestnácti různých možností. Pro různé volby pak mohou být nastaveny různé parametry předávané jádru, jako například nastavení kořenového souborového systému. LILO může být umístěno buď v master boot recordu (MBR) nebo v bootovacím sektoru vybraného diskového oddíly (partition). Ve druhém případě musí být v MBR jiný zavaděč, který následně načte LILO.

Při zahájení bootování má LILO pro přístup k pevným diskům k dispozici pouze služby BIOSu. Z tohoto důvodu bývalo na starých počítačích možné zavádět jádro pouze z první části větších disků, protože BIOS míval omezení přístupu v reřimu C-H-S na maximální počet válců (cylindrů) od 0 do 1023. Pokud BIOS nabízel modernější přístup k pevnému disku pomocí adresace LBA, bylo zmíněné omezení C-H-S přístupu překonáno.

lilo.conf

editovat

Soubor lilo.conf se většinou nachází v /etc/lilo.conf. Uvnitř lilo.conf se typicky nacházejí dvě sekce. První sekce definuje globální nastavení obsahující parametry, které specifikují místní bootovací atributy. Druhý typ sekce obsahuje parametry spojené s operačním systémem, který má být načten z obrazu. Tento druhý typ sekce může být opakován až pro 16 různých bootovacích výběrů.

Chybové hlášky a jejich interpretace

editovat

Když LILO načítá sebe sama, vypíše se na monitor slovo „LILO“. Každé písmeno je zobrazeno před nebo po nějaké specifické akci. Když LILO v nějakém okamžiku selže (nemůže pokračovat), je možné ze zobrazených písmen identifikovat problém.

Start kódu zavaděče LILO se skládá ze dvou částí. „První fáze“ ve spouštěcím sektoru a „druhá fáze“ v souboru /boot/boot.b. Během instalace LILO je vytvořen mapový soubor, obvykle /boot/map, kde LILO nachází potřebné odkazy (adresy sektorů), kde se nacházejí zaváděná jádra operačních systémů (Linux kernel, atd.), které by měly být zavedeny do paměti.

Přehled diagnostiky pomocí vypsaných písmen názvu LILO na monitor:

Nic
Ani jedna část z LILO nebyla načtena. Zavaděč LILO buď není nainstalován nebo oddíl, na kterém se nachází jeho spouštěcí sektor, není aktivní. Bootovací médium je nesprávné nebo vadné.
L
První část zavaděče byla načtena a začala, avšak nemůže načíst druhou část. Dvojmístné kódy chyb (uvedeny níže) označují typ problému. Tento stav většinou značí selhání média nebo špatné parametry disku v systému BIOS.
LI
První etapa zavaděče byla schopna nahrát druhou etapu, ale nedokázala ji vykonat. To může být způsobeno špatnými parametry disku v systému BIOS, přesunutím souboru boot/boot.b bez následného spuštění instalačního programu lilo, který vytváří soubor s mapou.
LIL
Druhá etapa zavaděče byla zahájena, ale nemůže načíst tabulku popisovače ze souboru s mapou. Tato chyba je obvykle způsobena selháním média nebo špatnými parametry disku v systému BIOS.
LIL?
Druhá etapa zavaděče byla načtena na špatné adrese. To je obvykle způsobeno špatnými parametry disku v systému BIOS nebo přesunutím souboru boot/boot.b bez spuštění instalačního programu lilo, který vytváří soubor s mapou.
LIL-
Deskriptor tabulky je poškozen. I tato chyba bývá většinou způsobena špatnými parametry disku v systému BIOS nebo přesunutím souboru /boot/mapbez spuštění instalačního programu lilo, který vytváří soubor s mapou.
LILO
Všechny části LILO byly úspěšně načteny.

Kódy chyb

editovat
Kód chyby Název Popis
0x00 Internal Error Tento kód je generován kdykoli je zjištěna vnitřní nekonzistence. Může být způsobeno poškozenými soubory. Řešením je znovuvytvoření mapového souboru.
0x01 Illegal Command Nemělo by se stát, ale pokud se stane, může značit pokus přístupu na disk, který není podporován BIOSem. Rozhodně zkontrolujte, zda je disk viditelný pro BIOS.
0x02 Address mark not found Toto obvykle značí problém s médiem. Zkuste znovu několikrát.
0x03 Write-protected disk Může se objevit při operacích zápisu.
0x04 Sector not found Tato chyba typicky značí špatné parametry disku v systému BIOS. Pokud bootujete z raw-written disku, ověřte si, že byl vytvořen pro stejné parametry disku, které využíváte. Pokud bootujete z disku SCSI nebo IDE, zkontrolujte, jestli LILO obdržel správné parametry od jádra.
0x06 Change line active Mělo by se jednat o přechodnou chybu. Zkuste znovu spustit bootování.
0x07 Invalid initialization Systému BIOS se nepodařilo správně inicializovat řadič disku. Měli byste zkontrolovat parametry systému BIOS. Také může pomoci „teplý restart“. (Restartovat rescue disk a spustit LILO.)
0x08 DMA overrun Nemělo by se stávat. Zkuste znovu nabootovat.
0x09 DMA attempt across 64k boundary Může značit špatné parametry disku BIOS. Možná budete nuceni přepsat některé parametry ručně.
0x0C Invalid media Může být způsobena chybou média. Zkuste znovu spustit bootování.
0x10 CRC error Chyba média. Zkuste několikrát nabootovat, spusťte podruhé instalátor map, zmapujte vadné sektory. Pokud nic nepomůže, je potřeba nahradit média.
0x11 ECC correction successful Došlo k chybě čtení. Chyba byla sice opravena, avšak LILO toto nerozpozná a přeruší proces načítání. Druhý pokus o načtení by již měl být úspěšný.
0x20 Controller error Tato chyba by se neměla stávat.
0x40 Seek failure Většinou se jedná o problém média. Zkuste znovu spustit bootování.
0x80 Disk timeout Disk nebo jednotka není připravena. Buď je poškozeno médium, nebo se disk neotáčí. Pokud je vše v pořádku, zkuste znovu nabootovat.
0x99 Invalid Second Stage Chyba v souboru map, nebo nesoulad v parametrech systému BIOS.
0x9A Can't Find Second Stage Zkontrolujte, jestli máte správně vybrané zařízení pro bootování.
0xBB BIOS error Zkuste znovu nabootovat. Pokud problém přetrvává, může pomoci odstranění volby compact nebo přidání/odstranění linear nebo lba32.

Související články

editovat

Externí odkazy

editovat