10. Kurz Linuxu - Zavadec Linuxu LILO
- STEFi - 2000-12-31 10:00:00
Tento serial o Linuxu byl vytvoren Milanem Cermakem v roce 2000 a s jeho svolenim zverejnen na strankach linux4all.misto.cz......
Zavadeč Linuxu LILO
===================
Aby počítač při startu věděl, kde na disku má hledat systémové
soubory, je na prvním sektoru disku uložen speciální záznam (tzv.
Master Boot Record - MBR). V systémech firmy Micro$oft je tento záznam
degradován na pouhý automatický zavaděč prvního programu a jakékoliv
širší využití (jako třeba zavádění více systémů) je ponecháno bez
povšimnutí.
Ne tak v Linuxu. Program "lilo", který má zaváděcí záznam na starosti,
sice lze nastavit tak, aby pouze zaváděl Linux, ale to by bylo velké
podcenění všech možností tohoto prográmku. Tento program dokáže
připravit záznam tak, aby pracovat jako tzv. Boot Manager
(že by Správce zavádění?).
S nastavováním prográmku "lilo" jste se už určitě setkali, i když
o tom ani nevíte. Je totiž součástí instalace. I zde se ale občas
stane, že potřebujeme něco upravit, aby to vyhovovalo právě našemu
počítači. Nutné je to hlavně při kompilaci nového jádra (což si
popíšeme příště).
Celá konfigurace, podle které se program "lilo" řídí, je uložena v
souboru "/etc/lilo.conf". Obsah tohoto souboru může vypadat třeba
takto:
boot = /dev/hda
prompt
timeout = 50
other = /dev/hda3
label = dos
table = /dev/hda
image = /vmlinuz
label = linux
root = /dev/hda1
read-only
A co že to vlastně znamená? V prvním bloku jsou uvedeny obecné
informace nebo věci platné pro všechny volby.
Proměnná "boot" udává zařízení, na kterém se nachází zaváděcí sektor.
Příkaz "prompt" říká, že se má čekat na vstup z klávesnice po určenou
dobu. Není-li uveden, bude umožněn výběr, až po stisku určité klávesy.
Dobu, po kterou se má čekat, je možné nastavit proměnou "timeout". Čas
se udává v desetinách vteřin.
V této sekci se může vyskytnout i proměnná "install", která udává
soubor, který obsahuje data zaváděcího sektoru. Zaváděcí sektor se pak
tímto souborem přepíše.
Poslední proměnnou, kterou zde zmíním, je proměnná "default", která
udává název systému (nebo diskového oddílu), který se bude startovat
automaticky. Pokud není uvedena, spouští se systém, který je uveden
jako první.
Pak následují sekce jednotlivých oddílů (nebo systémů). Každá sekce je
uvozena proměnnou "image" nebo "other". První ukazuje na jádro, které
se má načíst, druhá pak na zařízení s jiným systémem, kterému je pak
předáno řízení.
Proměnná "label" udává název pro daný systém nebo oddíl. Při startu
počítače pak ovlivňujete zavádění právě zadáním tohoto názvu.
Je-li třeba zadat pro jeden oddíl druhý název, použijte proměnnou
"alias".
Proměnná "table" je důležitá právě pro zavádění jiného systému. Určuje
zařízení, na kterém je umístěna tabulka oddílů (partition table)
daného systému.
Proměnná "root" udává, které zařízení se má připojit (namountovat)
jako kořenové. Toto zařízení nemusí mít vůbec nic společného s tím,
které obsahuje zaváděné jádro. To dovoluje například obcházet omezení
8GB, za kterými už není současný BIOS schopen číst. Dělá se to tak, že
se jádro umístí do malého oddílu (asi 1-2MB), který je před onou
hranicí a hlavní oddíl (specifikovaný promennou "root") pak může
klidně ležet až za ní. Onen krátký oddíl pak připojíme do adresáře
"/boot" pomocí záznamu v souboru "/etc/fstab" (což jsme probírali
v některé z minulých lekcí).
Příkaz "read-only" určuje, že se má dané zařízení připojit jen pro
čtení. Variantou je použití příkazu "read-write". Učel je snad jasný.
Zajímavostí může být, že program "lilo" dovoluje zabezpečit heslem
buď celý počítač (a nahradit tak ochranu, kterou poskytuje BIOS), nebo
jednotlivé oddíly.
A nakonec, když jsme v konfiguračním souboru provedli všechny potřebné
změny, je potřeba spustit program "lilo", aby změny přešly do praxe.
Častým problémem je soužití Linuxu s DOSem a Windows95 na jednom
disku. Pomocí zavaděče LILO je ale možné vyřešit i tento problém a to
následujícím způsobem.
Do souboru "lilo.conf" doplňte sekce pro oddíly, které obsahují systém
M$-DOS a Window95, a do každého oddílu doplňte příkaz "rewrite-table".
Výsledek by mohl vypadat například takto:
other = /dev/hda1 # tento oddíl obsahuje DOS
label = dos
table = /dev/hda
rewrite-table
other = /dev/hda2 # tento oddíl obsahuje Win95
label = w95
table = /dev/hda
rewrite-table
Příkaz "rewrite-table" způsobí, že, je-li zvolen daný oddíl, přepíše
se tabulka oddílů (partition table) tak, aby tento oddíl byl aktivní.
Pak už stačí jen spustit program "lilo", který změny zapíše na disk.
Možných proměnných a přepínačů, které lze v konfiguračním souboru
uvést, je mnoho. Úplnější přehled můžete najít v manuálové stránce
"lilo.conf". Bližší informace o programu "lilo" najdete též v
manuálových stránkách. Návody jak přizpůsobit Linux pro soužití s
jinými systémy najdete v souborech HOWTO.
PS. Pokud se vám náhodou nelíbí zadávání názvů systému, zkuste balík
"chos", který místo promptu (hezké české slovo, neníliž pravda)
vypíše nabídku formou menu. Navíc obsahuje mnoho dalších
vymožeností včetně konfigurace z XWindows.