Published on 2002-11-1 at root.cz

Linux do kapsy

Michal Ludvig <michal@logix.cz> (c) 2002

Firma Sharp uvedla na trh kapesní počítač (PDA) s názvem Zaurus SL, který je již od přírody vybaven Linuxem. Pokud si ho tedy pořídíte, nemusíte hned od první chvíle zjišťovat, jak se zbavit dodaných Windows či PalmOSu a jak tam dostat "nějaký pořádný operační systém". On už tam totiž bude.

Sharp Zaurus řady SL, o kterém je zde řeč, se na světě vyskytuje ve dvou základních verzích - SL-5000D a SL-5500. Jako první byl k dispozici model SL-5000D a to zejména pro potřeby vývojářů nových aplikací. Firma Sharp totiž vsadila na model otevřeného vývoje a nejspíš si řekla něco ve smyslu: "dáme jim (nezávislým vývojářům) jakž takž funkční systém, oni ho vylepší, opraví naše chyby a až budou se svým dílem hotovi, začneme to prodávat i běžným uživatelům". A tak se taky stalo: po pár měsících od uvedení prvních Zaurů SL-5000D (to "D" v názvu je od slova developer) se na trhu objevil model SL-5500, tentokrát již bez "D", zato však se dvojnásobně velkou pamětí RAM. A to je z hardwarového hlediska taky jediný významný rozdíl - do paměti SL-5000D se vejde 32MB dat, zatímco u SL-5500 je to až 64MB. Oba modely navíc obsahují 16MB Flash ROM, která však za normálních okolností nemůže být využita pro ukládání vašich souborů či instalování nových programů.

Hardware

Jaké má Zaurus dál vnitřnosti? Tak především procesor StrongARM 1100 taktovaný na 206MHz, perfektní barevný displej s rozlišením 240x320 bodů (tedy vyšší než širší), slot pro CompactFlash kartu (shora) a další pro SecureDigital kartu (z boku). Samozřejmosti, jakými je třeba IrDA port, nebo audio vstup/výstup jistě není třeba zdůrazňovat.

Co však stojí za povšimnutí je mrňavá klávesnička, která je skryta pod odsunovacím panelem v dolní části přístroje. Její tlačítka sice na první pohled vzbuzují spíš úsměv než důvěru, ale je možné si zvyknout velmi rychle. Důkazem budiž tento článek, který na ní tak porůznu - v autobusech, tramvajích a třeba i v posteli - píšu. Další možností ovládání je tužtička zvaná Stylus. Sharp Zaurus, podobně jako mnoho ostatních PDA disponuje dotykovým displejem, takže stačí Stylem šmejdit po obrazovce a můžete klikat, drag'n'dropovat, nebo kreslit. Na hraní Tetrisu či Pacmana se naopak velmi hodí stříbrné, kulaté kurzorové tlačítko, umístěné na krytu klávesničky spolu se sedmi dalšími, povětšinou programovatelnými čudlíky.

Software

Operační systém, který při koupi Zaura bude nahrán ve Flash ROM se obvykle označuje jako Sharp ROM a jedná se o oficiální verzi softwaru, podporovanou přímo výrobcem. Neoficiální, leč v mnoha ohledech lepší je OpenZaurus & OPIE - k této dvojici se vrátím na konci článku.

Sharp ROM obsahuje jednak linuxový kernel verze 2.4.6 a druhak grafické prostředí QtPalmtop, zvané též Qtopia. Veškerý výstup na displej se odehrává přes framebuffer, čehož Qtopia dokáže využít a obejde se zcela bez X-serveru. Nevýhoda je, že si aplikace ze Zaura nemůžete pouštět vzdáleně na monitoru svého počítače a ani naopak - aplikace z velkého Linuxu nemůžete nechat zobrazovat na Zauřím displeji. Výhoda je, že se ušetří spousta paměti. Dlužno dodat, že X11 server si můžete případně doinstalovat.

Když už máme grafický systém, potřebujeme ještě aplikace. Každé PDA poskytuje takzvané PIM utility - adresář, kalendář, ToDo list, atd. Ale zdaleka ne každé PDA vám nabídne Office jakž takž kompatibilní s MS Office. Zaurus však ano - Hancom Word, Hancom Sheet a Hancom Presenter jsou malé, leč plnohodnotné aplikace. V šestnácti megabajtech ROM se dokonce našlo místo i pro populární web browser Opera a pro Java interpreter. Jak se tam všechno mohlo vejít je mi záhadou.

Jak to zhruba funguje

Po prvním nabootování je paměť RAM rozdělena na dvě části - půlka je vyhrazena pro ramdisk a druhá půlka slouží jako operační paměť. Jak již bylo řečeno, operační systém je spolu s množstvím aplikací uložen ve Flash ROM. Po tzv. full resetu je čistý ramdisk namountován jako /home a je v něm vytvořeno několik adresářů a nepřehledná, spletitá síť symlinků ukazujících do root filesystemu a zase zpět. Tento ramdiskový filesystem přežije i reboot (na rozdíl od obsahu operační paměti), takže o aplikace a dokumenty zde uložené nepřijdete. Při full resetu, po delší době bez baterky, nebo při flashování nového systému se však vytratí data i odtud, takže není úplně špatný nápad ukládat je buď na některou z paměťových karet, nebo pravidelně zálohovat jak např. textové soubory tak data vytvořená v PIM aplikacích.

Zálohujeme a synchronizujeme

K tomuto účelu vyvinula firma Trolltech program Qtopia desktop, který umí všechna důležitá data ze Zaura vytáhnout a dále s nimi pracovat. Podporované aplikace jsou Adresář, Kalendář a ToDo list (český asi Úkolovník). Skrz QtDesktop je možné do Zaura též instalovat nové programy či odinstalovávat programy dříve nainstalované. Velmi užitečnou funkcí je i Backup/Restore - funguje tak, že se vyrobí TAR archiv celého /home a uloží ho buď na disku vašeho počítače, nebo na CF či SD kartu přímo v Zaurovi. Trošku mi zde chybí možnost jednoduše přistupovat k celému filesystemu. Pomocí QtDesktopu se dostanete pouze k dokumentům, případně programovým balíčkům ve zvláštních, k tomu určených adresářích.

Organizace dokumentů stojí za pozornost - když vytvoříte třeba v Hancom Wordu nový text a budete ho chtít uložit, zeptá se vás program pouze na jméno souboru (třeba mujtext), jeho typ (třeba rtf) a zda ho chcete uložit do interní paměti, či na některou z karet. Ale nikde nemáte možnost vybrat si adresář. Systém totiž rozhodne za vás, že soubor rtf patří do adresáře Documents/text/rtf (kde text/rtf je MIME typ). Tam vytvoří dva soubory: mujtext.rtf s vlastním textem a mujtext.desktop s informacemi, jako je třeba MIME typ dokumentu (ano, opět), která aplikace ho má na svědomí, jaká k němu patří ikonka a podobně. Mě osobně se tento způsob zdá poněkud ... zvláštní. Pokud totiž získáte nový dokument jinak než napsáním, nebo přenosem z QtDesktopu (který tenhle podivný způsob ukládání dokumentů zná a respektuje), musíte se sami rozhodnout do adresáře kterého mime typu ho uložíte a dokonce byste mu snad i měli vyrobit patřičný .desktop soubor. Pokud váš nový soubor, získaný třeba downloadem z webu, uložíte řekněme do /tmp, máte smůlu - žádná aplikace ho tam nenajde. Takže jediná možnost je přesunutí na "správné" místo.

Síťování

Protože stále mluvíme o Linuxu a jak známo, Linux je systém k sítím velmi vstřícný, poskytuje i Zaurus mnoho možností, jak se připojit. Zaprvé je tu infraport, který vám ve spolupráci s mobilem umožní internetit přes dial-up. I když na stolním linuxu bývá někdy konfigurace IrDA poněkud obtížná, zde je to záležitost několika kliknutí Stylem na obrazovku. Za druhé můžete využít standardně dodávanou kolébku, připojitelnou přes USB ke stolnímu počítači. Nejprve je třeba podle tohoto návodu naučit váš stolní linux protokolu Ethernet over USB a rázem můžete ze Zaura začít bez problémů komunikovat s celým světem. Drobný problém je, že přitom bude muset v té kolébce zůstat, takže moc mobilní řešení to není. Nicméně je to velmi rychlé a dost spolehlivé. Výborně se tento způsob síťování hodí třeba pro vývoj nových programů - prostě na Zaura přes NFS přimountujete disk vaší pracovní stanice s kompletním vývojovým prostředím, které by se do interní paměti pochopitelně nevešlo, a můžete začít psát, kompilovat a ladit. Bohužel v době, kdy máte Zaura v kolébce nemůžete používat jeho interní klávesničku, což vás ale nemusí mrzet, protože jste si jistě již předem nainstalovali balíček OpenSSH. Nejen kolébka však přináší blahodárnou konektivitu - do již zmíněného CompactFlash (CF) slotu na horním okraji můžete strčit buď modem, ethernetovou, bluetooth, nebo dokonce WiFi kartu (pro přístup k bezdrátovým sítím standardu 802.11b), s níž můžete internetit opravdu kdekoliv; pokud tam ovšem bude signál. Můj první pokus o zapojení Zaura s kartou Linksys WCF11 do testovací ad-hoc sítě nicméně dopadl neslavně - po několika neúspěšných pokusech o navázání spojení s mou pracovní stanicí Zaurus zcela vytuhnul. Dokonce tak, že nešel ani vypnout. Vyndání baterky a full reset to ovšem spravili. Do konektoru na spodním okraji také můžete zapojit seriový kabel a síťovat skrz něj. Možností je opravdu mnoho a každý by si měl vybrat.

OpenZaurus

Pokud váš již znudila oficiální, stabilní, uživatelsky orientovaná Sharp ROM a chcete se zabavit něčím novým, nastal ten pravý čas pro přechod na OpenZaurusOPIE. I když se tyto dva pojmy často zaměňují, neznamenají totéž: OpenZaurus je modifikovaný sharpovský kernel, zatímco OPIE - Open Palmtop Integrated Environment - je grafické prostředí, nahrazující Qtopii.

Kernel OpenZaurus z pohledu uživatele přináší jedno zásadní vylepšení: je možné zapisovat do Flash ROM. Tím pádem tam můžete instalovat programy a ukládat data, což má dvě výhody: zaprvé o ně při full resetu nepřijdete a zadruhé vám zbyde víc operační paměti. Další milé drobnosti jsou např. pěkný animovaný startup screen, podpora pro iptables, IPv6 a v současné době nefunkční podpora SD karet (což se řadí k drobnostem nemilým). Bohužel se mi zatím nepovedl rozběhnout dial-up přes infraport, ale to svádím spíš na svou neschopnost, protože jsem v tomto smyslu nenarazil na žádný bugreport. Je praktické, že předkompilované kernely jsou dostupné s různými poměry rozdělení RAM na operační paměť vs. ramdisk, nebo dokonce úplně bez ramdisku. Stačí si jen vybrat, ovšem ještě před flashováním.

OPIE

OpenZaurus je sice zajímavý, ale OPIE je ještě zajímavější. Hlavní rozdíl: OPIE je linuxovatější. Není tam všechno tak jednoduché jako v Sharp ROM, od uživatele občas vyžaduje více znalostí, ale je mnohem snazší si ji přiohnout a přizpůsobit k obrazu svému. Základní distribuce je ve formě initramdisku, který si spolu s vybraným kernelem naflashujete do Zaura. Instalační procedura je jednoduchá, popsaná třeba zde. Na první pohled se vám bude zdát, že máte k dispozici méně aplikací než v Sharp ROM. Chybí zde kupříkladu Hancom Office a Opera Web browser a není nainstalovaná ani Java virtual machine. Tyto programy prý chybí z licenčních důvodů. OPIE je ale velmi modulární a skoro všechno potřebné a mnoho nepotřebného si můžete snadno doinstalovat z předpřipravených balíčků. Sejně tak můžete ze základní distribuce odinstalovat ty aplikace, které nevyužíváte. Package manager, který má (od)instalace na starosti bohužel v současné době neoplývá příliš stabilním grafickým rozhraním, takže vám nezbyde než sáhnout po staré, dobré command line verzi. Nicméně systém se celkem rychle vyvíjí, takže v době, kdy čtete tento článek už může být všechno jinak.

Jedním z cílů autorů OPIE je zachování binární kompatibility s originálním prostředím Qtopia. Tento cíl není až tak složité splnit, protože OPIE vzniklo jako klon Qtopie, přičemž oba produkty jsou postaveny na stejném, volně dostupném toolkitu Qt-2.3. Pokud chcete přispět svou programátorskou troškou do mlýna, stačí když si stáhnete předkompilované nástroje pro crossplatform vývoj (třeba odsud), z CVS zdrojáky OPIE a můžete začít tvořit.

Shrnutí

Sharp Zaurus je perfektní hardware na kterém velmi slušně a svižně běží Linux. I když jak v Sharp ROM tak v OZ/OPIE je co vylepšovat, oba systémy jsou velmi dobře použitelné a jistě si své příznivce najdou. Na české uživatele však čeká jeden zádrhel a to je podpora češtiny. Tedy přesněji: a to není podpora češtiny. České fonty se sice sehnat dají, klávesnicové mapy však nikoliv. Alespoň já jsem zatím na žádnou možnost jak psát česky nenarazil, takže i tento článek, původně nadatlovaný bez diakritiky, jsem musel počeštit dodatečně (díky Jakube Vráno). Nicméně OPIE je pro likalizaci připravena a některé překlady už vypadají celkem použitelně. Kdybyste zatoužili třeba po norštině, tak máte možnost. Já však předpokládám, že většina linuxáků se bez češtiny celkem bez problémů obejde, takže Zaurus vlastně nemá chybu :-)

Odkazy

http://zaurus.logix.cz
Moje amatérská stránka, kde se snažím shromažďovat poznatky ke kterým jsem během používání Zauříka dospěl. Třeba se jednou někomu hodí.
http://zaurus.logix.cz/links.xp
Odkazy na další užitečné stránky (proč bych je sem měl opisovat, že? :-)
Place for your feedback...
Mar 4   16:02 telefon. (by Petr Jakubec)
Mar 4   16:22 Re: telefon. (by Michal Ludvig)