Hlavní navigace

Familiar 0.8: Jak běhají tučňáci v iPAQu - reloaded (2)

14. 2. 2005
Doba čtení: 6 minut

Sdílet

Stávajícím i novým uživatelům připravil tým okolo Familiaru pěkný vánoční dáreček - 23. 12. 2004 vyšel po téměř ročním očekávání Familiar verze 0.8.

Familiar linux

Celá věc roste na familiar.handhel­ds.org, odkud je možno stáhnout instalační image. Těch je na serveru pro každou řadu iPaqů několik – bez grafické nadstavby (pro pozdější instalaci BlackBoxu, Ionu nebo podobného prostředí) a s grafickými nadstavbami Opie a GPE. Seznam změn od verze 0.7.2 je možno najít na www.handhlelds­.org ve zprávičkách, největší změnou je sestavení distribuce v prostředí OpenEmbedded, ale o tom až dále.

Před samotnou instalací je potřeba přečíst si release notes a taky release notes. Pozorný čtenář jistě namítne, že je to jeden a ten samý soubor. Ano, je to tak, ovšem kvůli důležitosti onoho dokumentu se nebojím uvést ho hned dvakrát. Od vydání Familiar Linuxu 0.8 je konference zaplněna skoro jenom dotazy „právě jsem instaloval Familiar 0.8 a mám tento problém:“, odpovědí je pak skoro vždycky „přečtěte si release notes“.

Dále budeme pokračovat zbavováním se PocketPC. Před instalací Familiaru je třeba do handheldu nějakým způsobem dostat dva kusy softwaru: Bootloader a Bootblaster. Samotných postupů transportu software na iPaq s PocketPC je povícero, já jsem zbaběle použil nejmenovaný americký OS a ActiveSync. Druhou bezbolesnou metodou je pak paměťová karta, přímé spojení PocketPC a Linuxu taky jde. Bootblaster je PocketPC aplikace, která umí zálohovat PocketPC z flash ROM a nainstalovat Bootloader, který pak už umí přeflashovat ROM a natáhnout systém. Dlužno podotknout, že už instalace Bootloaderu znemožní soft reset PocketPC, takže při prvním restaru přijdete o své PocketPC aplikace a o data, která nejsou na kratě. Dualboot PocketPC a Linuxu (který může startovat z CF) je pak prakticky nepoužitelný, protože při každém restartu PocketPC je potřeba nainstalovat znovu všechny aplikace…

Pokud máme nainstalovaný Bootloader, můžeme ještě naposledy nostalgicky spustit PocketPC, ale dále už dáme slovo Linuxu. Flashování je možné už od prvních verzí pomocí sériového kabelu, postupem času se naučil Bootloader číst i FAT12 a FAT16 z CF karty (pozor na FAT32, s tou si Bootloader neporadí!). Protože sériový kabel nemám a navíc jsem šťastným majitelem CF jacketu, samozřejmě zatím všechny moje pokusy začínaly právě odtud. Flashování z CF je pohodlnější a rychlejší – trvá dohromady asi pět minut (oproti cca 45 minutám přes kabel) a vždy proběhlo bez problémů. Poslední mýty opředenou metodou je flash přes USB kabel. Jednou jsem někde na webu dokonce našel popis od člověka, který to dokázal, ale přestože mám teoreticky podporovaný hardware, nikdy se mi nepodařilo počítač a Bootloader přes USB spojit; útěchou mi je, že podle konference nejsem sám. Po flashování je potřeba ještě doladit chybky, které se do distribuce dostaly, ty jsou popsány i s postupem k odstranění v Release Notes.

Familiar-vybaveni

Toto je moje výbava; James Bond by záviděl. :)

Podle reakcí v konferenci bych řekl, že drtivá většina uživatelů volí právě mezi prostředími Opie a GPE, ostatní windowmanagery jsou již zastoupeny velmi zřídka. GPE je postaveno na GTK, dalo by se říct, že se jedná o embedded Gnome, naproti tomu Opie je postavená na knihovně Qt, podobně jako KDE. GPE používá pro běh X server, Opie vykresluje přímo na framebuffer, a tento rozdíl v praxi znamená, že máme naprosto a stoprocentně odlišné portfolio aplikací pro GUI. Pěkné je, že i mezi vývojáři a uživateli žije zdravá rivalita, podobně jako mezi vývojáři a uživateli Gnome a KDE.

OpenEmbedded

Významným evolučním krokem v distribuci Familiar Linux je jistě fakt, že od verze 0.8 je celá distribuce budována v prostředí OpenEmbedded. Pro plné pochopení významu OpenEmbedded je potřeba vysvětlit, jak se vývoj dělal dříve.

Překlad na samotném zařízení se zpravidla neprovádí, aspoň teda vývojáři ho nedělají. Pokud chtěl někdo přeložit nějaký software, potřeboval k tomu crosscompiler, všechny potřebné knihovny ve verzi pro ARM a další nástroje – make, m4 atd. Všechny tyto věci si pak uživatel nahromadil do nějakého adresáře a tam prováděl samotnou kompilaci. Problémem bylo zejména to, že každý používal různé verze knihoven a dalšího software, takže výsledné balíčky byly dělány způsobem „snad to pojede i vám“. Jediné, na čem se vývojáři shodli, byla zastaralá verze GCC 2.95.3, která speciálně pro ARM architekturu není příliš vyladěna. Nové verze GCC produkují menší binárky a rychlejší kód.

Pořádek do tohoto chaosu vnáší OpenEmbedded. Je to balík knihoven a nástrojů, který používají všichni vývojáři, a připravuje se přes něj veškerý software jak pro Familiar, tak třeba i pro OpenZaurus, OpenSimpad atd. Mimo jiné obsahuje nástroj BitBake, který dělá přibližně to, co emerge u Gentoo. Po spuštění bitbake nano si bitbake stáhne potřebné zdrojáky, pořeší závislosti a postupně vykompiluje nano, které už jenom zbývá umístit do iPaqu. Cílem pro bitbake může být i skupina balíků nebo celý image. Abych nedělal chytrého: Já sám OpenEmbedded nemám (zatím) nainstalováno, informace mám jenom skrze Getting Started z projektu OpenEmbedded a z konference.

Po instalaci

Instalací získáme plnohodnotný linuxový stroj. Jádro „zamrzlo“ na verzi 2.4.19, patch jádra povýšil na rmk6-pxa1-hh37, příští jádro bude zřejmě až některé z řady 2.6. Distribuce je už nějakou dobu postavená na BusyBoxu, který povýšil na verzi 1.0, balíčkovacím systémem je „lehkotonážní“ ipkg, které je velmi podobné původně debianovským apt/dpkg, formát balíčku je dokonce stejný jako v Debianu. Je tedy možné instalovat balíčky určené pro ARM Debian, ale nedoporučuje se to ze dvou důvodů: Prvním jsou návaznosti, druhým je místo na flashce – nativní .ipk balíčky bývají zpravidla na kost očesány o „zbytečnosti“, jakými jsou například manuálové stránky, další dokumentace atd. Už v základu je nainstalován malý ssh server Dropbear (možno nahradit plnohodnotným OpenSSH), a pak už v distribuci najdeme mimo GUI aplikace v podstatě jenom knihovny, ovladače a nějaké další „drobky“ (openswan, ppp, hotplug apod.).

Co se GUI týká, většina uživatelů sáhne asi po Opie nebo po GPE. I když si to v diskusi asi slíznu, přirostla mi k srdci více Opie, o které napíšu na Roota v nejbližší době článek. Tímto bych rád vyzval někoho, kdo používá GPE, aby se odhodlal k podobnému počinu, aby měli čtenáři nějaké srovnání.

V praxi

A jak se chová systém v praxi? Stabilita – a to si řekněme otevřeně – není nic moc. Problematické je zejména připojování a odpojování různých zařízení, uspávání a probouzení, kdy iPaq nezřídka tuhne. Od minulé verze byla opravena velmi nepříjemná chyba: Tuhnutí při intenzivní práci s USB sítí a paměťovou kartou. Teď už jsem schopný naplnit svou 1GB SD kartu bez zatuhnutí. Naopak chybou, která přetrvala, je občasné nezapnutí podsvětlení po probuzení. Zamrzel přechod z OSS na alsu, protože alsa nemá u mého 3870 regulaci výšek a basů; zejména basy by bylo potřeba zvýraznit, aby zvuk stál aspoň za něco. Celkově ale systém zestabilněl a po úpravách, které jsou popsány v Release Notes, se zdá být bez problému použitelný jak coby handheld, tak coby plnohodnotný linuxový počítač (se slabším procesorem).

ict ve školství 24

Hodnocení

Pokud bude uživatel očekávat, že instalací Familiaru dostane na svůj kapesní počítač něco stejně stabilního, jako je *** (dosaďte své oblíbené distro), bude asi hodně zklamaný. Linux na desktopu (o serverech nemluvě) je, co se týká stability, o dost dále. Na druhou stranu musím konstatovat, že Familiar se už dostal z fáze „systém použitelný pouze pro geeky“ do fáze „systém použitelný bez problému i běžným Frantou uživatelem, pokud mu ho někdo nainstaluje a trochu si s tím pohraje.“

Příště se podíváme na <rýp> to pěknější prostředí, tedy Opie </rýp> pro Familiar Linux a vysvětlím vám, proč mi X server nechybí.

Autor článku

Autor je správce IS v Kovárně "VIVA" Zlín, s. r. o. Vystudoval Fakultu informatiky Masarykovy univerzity v Brně, UN*Xu propadl v roce 1998, Linuxu cca o rok pozdeji.