Linux E X P R E S

Facebook

Jak jsem budoval Linux z ničeho

S nadšením jsem přivítal informaci anoncovanou na www.linux.cz o dokončení překladu základního návodu Linux From Scratch do češtiny. Vzhledem k tomu, že jsem již dávno uvažoval o tom, že si zkusím Linux kompletně přeložit, rozhodl jsem se, že si splním linuxového bobříka odvahy a pustím se do toho. Nečekejte od tohoto článku návod, jak sestavit LFS, ale spíše zamyšlení nad instalací s některými radami.


Představení LFS

LFS je výborný zdroj informací, nebojte se pustit do překladu. Dozvíte se o Linuxu opravdu hodně.

Pro ty z vás, kteří netuší, co je to LFS, nejprve malé představení. LFS je návod (dá se říci kniha), která radí, jak kompletně přeložit Linux ze zdrojových kódů pomocí jiného běžícího systému. Uživatel si takto vlastně vytvoří Linux z ničeho (from scratch). Hlavním cílem není nainstalovat si funkční operační systém, ale spíše pochopit jednotlivé zákonitosti Linuxu a jeho stavbu. Pokud se do toho pustíte, pak určitě budete o svém Linuxu vědět více než dříve a možná si i jinak budete vážit práce autorů vaší distribuce.

LFS nedisponuje žádným instalačním systémem, všechny příkazy musíte zadávat z klávesnice, avšak lze je pouze překopírovat z návodu. Autoři LFS pro vás připravili live CD se zdrojovými kódy všech potřebných programů. Toto CD doporučuji stáhnout a použít minimálně jako zdroj souborů. Jinak si budete muset stahovat vše z originálních umístění, což může být v některých případech problém, neboť na udané WWW stránce již může být zveřejněna novější verze potřebného programu, která nemusí být kompatibilní s ostatními programy.

Určitě si stáhněte a vypalte LFS live CD. Je dobré jej používat i jako běžné live CD.

LFS rovněž nedisponuje žádným balíčkovacím systémem. Nelze jej proto po nainstalování jednoduše aktualizovat. Lze sice postupně aktualizovat jednotlivé balíčky, ale autoři to příliš nedoporučují. Namísto toho doporučují v případě potřeby přeinstalovat celý systém. Neexistence balíčkovacího systému je vysvětlena výukovými cíli projektu LFS. Projekt je určen k pochopení, jak se Linux vytváří a funguje, a ne k snadnému a rychlému instalování systému. Pokud chcete instalovat Linux s balíčkovacím systémem ze zdrojových kódů, pak použijte Gentoo Linux anebo Vida Linux.

Můžete se často setkat s tvrzením, že překládaný systém (Gentoo, LFS) je rychlejší než systém vytvářený z binárních balíčků. Možná, že je to pravda, ale nejsem o tom zcela přesvědčen. Osobně se spíše domnívám, že rozdíl je způsoben tím, že pokud instalujete překladem, máte plnou kontrolu nad spouštěnými službami a zaváděnými moduly, tedy spouštíte a zavádíte pouze to, co opravdu potřebujete a systém je pak rychlejší.

Toto tvrzení ovšem nelze generalizovat. Například Slackware není kompilovaný, nýbrž binární systém, a přesto máte plnou kontrolu nad během systému a spouštěním služeb. Podobně je to s Debianem. Ani o ostatních distribucích nemůžeme tvrdit, že v nich nemáme kontrolu nad spouštěnými službami, vše záleží na přístupu. Poznámka redakce.

Odkud LFS instalovat

Pro instalaci LFS máte dvě možnosti - instalovat buď z fungujícího linuxového systému, anebo z live CD. Obě možnosti mají své pro a proti a trochu se na ně podíváme.

LFS doporučuji všem, kdo mají rádi stabilní systém na práci a nehoní se za každou novinkou. Počítejte s tím, že nainstalované LFS nejde příliš aktualizovat.

Instalace z existujícího systému

Je výhodná v tom, že můžete dále normálně pracovat, brouzdat po internetu anebo hrát hry. Pouze si čas od času odskočíte do terminálu, ve kterém LFS překládáte. Samozřejmě se tím doba překladu o něco prodlouží, ale nebudete nijak omezeni. Je zde pouze jeden problém, překládáte v X Window terminálu a nemůžete se po dobu překladu odhlásit.

Navíc musí systém, z kterého překládáte, splňovat některé podmínky. Musíte mít alespoň jádro 2.6.2 (debianisté pozor - 2.4.27 nestačí). Dále dle knihy LFS potřebujete GCC 3.0 a vyšší. Tady ale pozor, ukazuje se, že GCC 4.0 je už zase moc vysoké. Tím pádem nebyl použitelný ani můj mateřský Arch Linux. Jako optimální se jeví Gentoo (to jsem ale na pokusném počítači neměl a nechtělo se mi instalovat). Nakonec jsem použil OpenSUSE. Při instalaci jsem zaškrtl možnost nástroje pro kompilaci a všechny potřebné programy se mi nainstalovaly.

Zdá se, že systém opravdu nejde přeložit s GCC verze 4.X. Zjištěno opakovanými pokusy.

Ověřte si, že máte nainstalované všechny potřebné nástroje. To je nejjednodušší udělat tak, že si vezmete LFS návod a projdete si v části 5 závislosti u jednotlivých programů. Všechny zde uvedené programy by měly být nainstalovány ve vašem systému.

Takže máte-li ve svém systému jádro 2.6.2 a vyšší, GCC verze 3.X a všechny potřebné programy, můžete jej použít a pokusit se o překlad LFS.

Instalace z Live CD

Nemáte-li systém popsaný v předchozí kapitole, instalujete na nový počítač, anebo vám nevadí, že nebudete po dobu instalace moci pracovat na jiných věcech - pak je pro vás dobrou volbou live CD.

Po zavedení live CD doporučuji zkonfigurovat síť (používáte-li DHCP, pak se vám síť pravděpodobně správně nastavila při startu) pomocí příkazu net-setup. Síť se bude hodit, budete-li si chtít během instalace nainstalovat ještě některé další programy (mc, nano, links, lynx...). Pokud budete kompilovat v xkách, spustíte je pomocí příkazu startx. Je použit okenní manažér Xfce. Doporučuji ještě xwindow zkonfigurovat standardním postupem (xorg -configure), abyste měli správné rozlišení a bitovou hloubku.

Live CD obsahuje prohlížeče firefox, links a lynx. Pokud některý z nich spustíte, otevře se v něm automaticky návod na instalaci LFS. Dále obsahuje editory vim, joe a nano. Bohužel neobsahuje můj oblíbený Midnight Commander.

Argumenty proti instalaci z live CD jsou následující: Nemůžete pracovat na svých úkolech. Systém běžící z CD je nutně pomalejší v okamžiku, kdy musí přistupovat k samotnému CD. Dále pokud instalujete systém na notebook, může dojít k jeho přehřívání v případě, že budete mít CD delší dobu v mechanice (alespoň na mém notebooku se to stává), a tím i k zpomalení počítače.

Existuje rovněž projekt ALFS pro automatický překlad. Nezkoušel jsem jej, takže jej nemohu hodnotit.

Vlastní instalace

Vlastní instalace je dobře popsaná v dokumentu LFS. Ten si buď stáhněte z domovské stránky anebo jej hledejte na live CD. Doporučuji si jej otevřít v prohlížeči a mít během celé instalace po ruce. Máte-li dostatečně rychlý systém, pak mít jej otevřený ve Firefoxu a současně instalovat v textové konzoli není špatná volba. Delší příkazy doporučuji kopírovat. Zejména tehdy, obsahují-li apostrofy a nejste si jistí, který apostrof je ten pravý. Dokument lze v anglické verzi stáhnout i jako HTML nebo PDF a vytisknout. Je dokonce možné si jej objednat jako knihu. Ale na internetu jsem ji našel pouze ve verzi 5.0 za čtyři dolary. Jako taková by už dnes měla smysl pouze jako rarita.

Co se týče českého návodu, odkazuje se na verzi 6.1, zatímco v originálním je použitá verze 6.1.1. To může být problém, neboť český návod neobsahuje instalaci některých doporučených patchů a může dojít k chybě. Dále se musím přiznat, že mi u českého textu vadilo to, že některé části byly zřetelně přeloženy automatickým překladačem a musel jsem se pro pochopení souvislostí podívat do originálu. Proto doporučuji mít k dispozici texty oba a pokud postupujete podle českého návodu, pak příkazy kontrolovat s originálem. Pokud nemáte s angličtinou problémy, pak raději rovnou pracujte podle originálního návodu.

Často kladenou otázkou je doba instalace LFS. Autoři pro určení doby instalace zavádějí jednotku Standard Build Unit (SBU), která je definována jako doba, za kterou se na daném počítači přeloží balík binutils. Doby překladu dalších balíků jsou pak udány v jednotkách SBU (viz závěrečné odkazy). Pro zajímavost uvádím následující hodnoty zjištěné pokusem:

Pentium 4, 2,4 GHz, 512 MB RAM, překlad prováděn z OpenSUSE 10.0 - 1 SBU = 2 minuty, 50 sec.
Pentium 2, 333 MHz, 64 MB RAM, překlad prováděn z LFS live CD - 1 SBU = 27 min

Na prvním počítači jsem překlad dotáhl do konce, na druhém jsem se spokojil se zjištěním SBU (na dokončení jsem neměl trpělivost). Celkový počet SBU pro LFS vychází cca 85. Navíc počítejte s tím, že nějaký čas vám zabere rozbalování spakovaných zdrojových kódů a jejich opětovné mazání po překladu. Pro zajímavost: u překladu jádra (použito 2.6.11.12) se uvádí 4,2 SBU. Takže si zkuste změřit dobu překladu tohoto jádra po předchozím použití make mrproper. Celková čistá doba překladu LFS na vašem počítači bude asi dvacetkrát vyšší.

Samotný překlad je prováděn ve dvou částech. Nejprve pomocí hostitelského systému vytvoříte dočasný systém. Tato část trvá asi 38 SBU a nedoporučuji ji přerušovat - odhlásit se z konzole, ve které ji provádíte. Já jsem to udělal a systém mi nechtěl korektně pokračovat v překladu a musel jsem začít znovu. Je však možné, že jsem při opětovném přihlášení opomněl nějaký krok. Provádí se pod uživatelem lfs, ale obecně lze použít libovolného uživatele.

Ve druhé části se pack chrootnete do tohoto dočasného systému a vytvoříte stabilní systém. Zde pracujete jako root. V závěru pak ještě vytvoříte konfigurační soubory, přeložíte jádro a nastavíte zavaděč. Tato část má cca 47 SBU (včetně překladu jádra).

Osobně nedoporučuji hned se odhlašovat, ale pomocí BLFS (pojem vysvětlen dále) přeložit ještě nějaký editor (nano, joe, emacs …), zejména nejste-li příznivci editoru vim. Dále pak asi Midnight Commander a rozhodně nějaký textový WWW klient (links nebo lynx). Tyto nástroje se vám v nově vytvořeném systému budou hodit.

Co dál

Po restartu (předpokládejme, že se podařil) jste v čistém Linuxu, ve kterém máte kromě jádra k dipozici pouze základní nástroje a překladače. Jak z tohoto čistého systému vybudovat systém pracující v grafickém režimu s aplikacemi, vám poradí kniha Beyond Linux From Scratch (BLFS), která má ve formátu PDF 1000 stran. Je v ní popsán překlad dalších programů. Zatímco LFS bylo nutné číst postupně a dávat pozor, abyste nepřeskočili nějaký příkaz, zde můžete při vytváření svého systému libovolně přeskakovat a překládat aplikace tak, jak je budete potřebovat.

V tuto chvíli oceníte, pokud jste mne poslechli a nainstalovali jste si nějaký WWW klient. S jeho pomocí si nyní již můžete stahovat další zdrojové kódy. Rovněž si pravděpodobně stáhnete a přeložíte nové jádro. Zde jen poznámku - LFS nedoporučuje překládat jádro v /usr/src/linux, jak jste zvyklí, ale v adresáři /sources jako ostatní aplikace.

Má to smysl?

Pokud si chcete pouze nainstalovat Linux, určitě LFS nepoužívejte. Získáte sice minimální rychlý systém šitý na míru, nebudete si jej však moci aktualizovat. Zkuste raději Arch Linux, Mandrivu nebo OpenSUSE. Chcete-li si přeložit Linux, který budete používat pro práci, pak zvažte, zda se spokojíte s tímto systémem i za dva roky a nebudete-li jej chtít někdy aktualizovat. Pokud nevíte, použijte raději Gentoo Linux nebo Vida Linux.

Pokud jste studenty informatiky anebo se rádi v Linuxu šťouráte a chcete vědět, jak vše doopravdy funguje, pak ani chvilku neváhejte a pusťte se do překladu. Budete potřebovat cca 2GB oddíl (kniha LFS doporučuje 1,3 GB, ale měl jsem během překladu pocit, že mi systém zabíral více). Pokud si však chcete se systémem dále hrát pomocí BLFS a netrápí vás místo na disku, pak si samozřejmě vytvořte oddíl mnohem větší.

Vřele doporučuji nekopírovat slepě příkazy, ale pozorně si celou knihu pročíst. Máte zde vysvětlen význam všech přepínačů (skvělý zdroj informací pro uživatele Gentoo). Rovněž je u každého balíku popsáno, k čemu slouží a jaké programy obsahuje. Prostě dokonalý studijní materiál.

Diskuze (0) Nahoru