5. Konstrukce dočasného systému

5.1. Úvod

Tato kapitola popisuje, jak zkompilovat a nainstalovat minimální Linux. Tento systém bude obsahovat dost nástrojů ke konstrukci finálního systému LFS v Chapter 6 s pohodlnějším pracovním prostředím než v minimálním systému.

Kompilace minimálního systému se skládá ze dvou kroků. Nejprve zkompilujeme nové a na hostiteli nezávislé nástroje (kompilátor, assembler, linker, knihovny a několik užitečných utilit). Ve druhém kroku použijeme tyto nástroje ke kompilaci dalších základních nástrojů.

Soubory kompilované v této kapitole budou nainstalované pod složkou $LFS/tools, abychom je zachovali oddělené od souborů instalovaných v následující kapitole. Protože zde kompilované balíčky jsou dočasné, nechceme jimi ovlivnit systém LFS.

Před následováním kompilačních instrukcí pro balíček, jej pod uživatelem lfs rozbalte a vstupte do nové složky pomocí cd. Kompilační instrukce předpokládají, že používatel shell bash.

Několik balíčků je před kompilací patchováno, ale pouze pokud je patch potřebný pro odstranění nějakého problému. Patch potřebujete v této i následující kapitole, ale někdy jenom v jedné. Proto se nelekejte, pokud neuvidíte instrukce k použití staženého patche. Při aplikaci patche můžete narazit na varování jako offset nebo fuzz. I přes tyto zprávy je patch úspěšně aplikován.

Během kompilace mnoha balíčků se na obrazovce ukáží často varování, která jsou ale neškodná a můžete jej ignorovat. Tato varování mohou znamenat, že syntaxe C nebo C++ je zastaralá (deprecated). Standardy C se mění docela často a některé balíčky stále používají starou syntaxi. Toto nepředstavuje problém, ale pouze varování.

Po instalaci každého balíčku, pokud není řečeno jinak, vymažte složky se zdroji a kompilací. Vymazáním zdrojů ušetříte místo a zabráníte špatné konfiguraci, když bude balíček opět instalován. Pouze u třech balíčků nemažte složky se zdroji a kompilací, protože je použijete později. Dávej na to velký pozor.

Naposledy zkontrolujte, jestli je proměnná LFS nastavena správně:

echo $LFS

Ujistěte se, že výstup ukazuje cestu k přípojnému bodu oddílu LFS, který je podle našeho příkladu /mnt/lfs.