Produkty Novinky Články Návody Kontakty

Sestavení linuxové distribuce

Sestavení vlastní linuxové distribuce je jedním ze zásadních úkolů, které musí vývojář aplikací pro embedded zařízení zvládnout. Málokteré embedded zařízení má natolik neomezené systémové prostředky, že v něm lze provozovat běžnou linuxovou distribuci. O specifičnosti hardware takového zařízení ani nemluvě.
Že jde o úkol nelehký svědčí i řada pokusů o jeho ulehčení. Mám na mysli například projekt BuildrootInformationhttp://buildroot.uclibc.org/, což je defakto sada skriptů a souborů makefile, která na základě interaktivně zadané konfigurace dokáže vygenerovat kompletní linuxovou distribuci, včetně jádra a případně i křížových nástrojů (cross tools).
Dalším počinem, který v tomto směru stojí za povšimnutí, je projekt Linux from scratchInformationhttp://www.linuxfromscratch.org/ - anglicky psaný průvodce, který zájemce krok za krokem provede sestavením linuxové distribuce. Toto pojetí je zajímavé i z toho důvodu, že člověka donutí skutečně porozumět tomu, co dělá. Díky tomu pak máme celou distribuci tak říkajíc pevně ve svých rukou.
Následující text je vlastně také takovým stručným průvodcem sestavení vlastní linuxové distribuce. Nejprve si vytvoříme základní adresářovou strukturu, kterou postupně zaplníme systémovými knihovnami a konfiguračními soubory. Pak si nakonfigurujeme a sestavíme jádro a nakonec celý kořenový souborový systém přeneseme do cílového zařízení.
Cílovým zařízením, které bude předmětem našich pokusů s linuxovou distribucí, nemusí být nutně embedded zařízení. Stačí jakékoliv fungující obstarožní počítač typu x86, který odpočívá někde v koutku a čeká na ekologickou (!) likvidaci, pardon, vlastně na odchod do křemíkového nebe.

Než začneme

Pro sestavení naší vlastní linuxové distribuce potřebujeme libovolný pracovní počítač (např. virtuální) se standardní linuxovou distribucí. My jsme zvolili distribuci Debian 6.0 Squeeze. Další text proto bude předpokládat použití této distribuce.
V pracovním počítači s Linuxem (Debianem) si v našem domovském adresáři (např. /home/emlin) vytvoříme adresář mylindist-root/, který bude sloužit jako kořenový adresář naší linuxové distribuce. Jinými slovy obsah tohoto adresáře se po přenesení na cílové zařízení stane kořenovým adresářem naší distribuce v cílovém zařízení.
Postup:
$ mkdir /home/emlin/mylindist-root 
$ cd /home/emlin/mylindist-root/
Poznámka: Adresář mylindist-root/ bude v dalším textu považován za výchozí adresář. Všechny příkazy budou uváděny tak, jako by byl aktuálním pracovním adresářem.
Vedle pracovního počítače, kde bude vznikat naše vlastní linuxová distribuce, potřebujeme samozřejmě i ono pokusné cílové zařízení. My jsme se jako cílové zařízení rozhodli použít (rozuměj uchránit před likvidací) jedno staré, ale stále fungující PC původem někde z banky. V dalším textu proto budeme předpokládat jeho použití.
Na konfiguraci pokusného počítače nejsou kladeny žádné zvláštní nároky. Jediným požadavkem je dostupnost paralelního ATA rozhraní (případně SATA), IDE harddisk (příp. SATA harddisk) a fungující paralelní port, přes který k našemu pokusnému počítači (cílovému zařízení) později připojíme HW přípravek pro hrátky s ovladači linuxového jádra. Samozřejmě nesmí chybět video karta a potřebovat budeme i jakoukoliv CD-ROM/DVD-ROM mechaniku.
Pokud nemáte nějaké takové PC k dispozici, zkuste navštívit jakýkoliv PC bazar nebo si prostě kupte nejlevnější základní desku typu vše-v-jednom (obvykle formát ITX), kdy je už na desce integrován procesor, video karta a kompletní chlazení. Stačí když dodáte paměť RAM, harddisk a napájecí zdroj (mnohdy stačí i silnější 12V zdroj s konektorem jack 2.5mm, takže nepotřebujete ani ATX zdroj). Zásadní je podpora HW v Linuxu, což produkty postavené na čipech Intel (zvláště na starších typech) snadno splňují.