Linux E X P R E S

Facebook

Hacking & Development: Linux do kapsy na zařízení typu Palm

palm.jpg

V tomto článku bych čtenářům LinuxEXPRESu rád představil projekt Hacking & Development. O čem to bude? Ve zkratce půjde o to, jak třeba i na trochu starším PDA od firmy Palm rozběhnout Linux a využít tak skrytý potenciál vašeho zařízení. Michal Hrušecký.


Proč Palm? Proč Linux?

První otázka, která asi každého napadne, je, proč pouze zařízení firmy Palm. Existuje několik různých důvodů, proč zrovna palmy. Ve výchozím stavu obsahují PalmOS. Jsou tedy bez MS Windows a většina z členů Hack&Dev nepatří mezi fanoušky Microsoftu. Druhý, pro mnohé zajímavější argument, je, že palmy bývaly v porovnání s ostatními přistroji cenově dostupnější. I dnes se snad všechna tato zařízení dají sehnat pod pět tísíc.

Druhá otázka, kterou se pokusím zodpovědět, je, proč vůbec nahrazovat PalmOS Linuxem. PalmOS byl výborný systém pro jednoduchá zařízení se slabým hardwarem. Byl rychlý, nenáročný a přehledný. Bohužel s příchodem novějšího vybavení už zůstává trochu pozadu. Verze systému, která se dnes používá, je bez zásadnějších změn stejná už od 2002. Ta radikálnější změna tehdy byla přechod na architekturu ARM. Byla realizována pomocí emulace předchozího procesoru. Podobný styl byl použit i při dalších inovacích. PalmOS nepodporuje multitasking. Ač se pomocí různých fíglů dá docílit podobného efektu, přeci jen to občas není to pravé.

Od doby, kdy se v palmech začaly programy ukládat na interní flash, ztratil i jednu ze svých největších výhod - rychlost. Existuje zde i uměle stanovený limit na použitelnou RAM - program má k dispozici jen pár megabajtů a zbytek je u nových zařízení použit jako cache pro interní flash. A jedním z nejčastějších důvodů nestability systému bývá lokalizace. Na podporu UTF můžete zapomenout. Dovedete si v dnešní době představit, že si prohlížíte web a k dispozici máte pouze písmena anglické abecedy? Pokud nekomunikujete výhradně v angličtině, je to celkem otrava.

Přechod na Linux nabízí nejen multitasking a možnost volby prostředí, ale i mnoho dalšího. Na lokalizaci a podporu UTF jsme si na Linuxu už všichni zvykli a problém to není ani na PDA. Mezi další vymoženosti patří například podpora pro USB Host mód u některých zařízení. K PDA si tak můžete připojit libovolné Linuxem podporované zařízení. S drivery to je v Linuxu obecně mnohem lepší než v PalmOS. Má to jen jednu nevýhodu. USB Host potřebuje externí napájení - v PalmOS nic takového podporováno není, tak proč vyvádět ven napájení.

Umělá omezení na velikost použité RAM v Linuxu také neplatí. Systém běží kompletně nativně a může tak využívat hardware opravdu naplno. Fungují i takové věci jako vzdálené přihlášeni k vašemu PDA. No nestojí už tenhle pocit za to? Moci se pomocí SSH připojit na svoje PDA? O výhodách používání kompletně open-source prostředí asi ani nemá cenu se tu rozepisovat. Pokud se vám něco nelíbí, není problém to předělat či opravit a poslat vývojářům.

Instalace

Pokud máte některé z podporovaných zařízení, instalace je velmi jednoduchá. Stačí si ze stránek projektu stáhnout patřičný bootpack. Pak jen rozbalit na paměťovou kartu a spustit aplikaci Cocoboot. Pro ty ještě více zlenivělé existuje dokonce i instalační wizard, který člověka provede všemi volbami a ušetří mu tak stahování a rozbalování na kartu. Umí ji i zformátovat, přerozdělit, vytvořit swap a podobné, lehce složitější úkony, které běh výsledného systému o něco zrychlí. Nakonec ale vše končí stejně - je třeba v palmu spustit aplikaci Cocoboot. Ta se postará o natažení všeho potřebného do paměti a spuštění samotného Linuxu.

Instalační průvodce se přizpůsobí grafickému prostředíInstalační průvodce se přizpůsobí grafickému prostředí

V tomto okamžiku už PalmOS v RAM není a běží pouze nativní Linux. Ale vše se čte a zapisuje na kartu a pokud svůj stroj restartujete, jste zpět v PalmOS. Vše se tedy chová jako live distribuce, jak ji znáte z desktopu, jen s tím rozdílem, že změny se ukládají na kartu. Není se tedy třeba bát nějakého trvalého poškození zařízení, u nových palmů dokonce většinou ani nepřijdete o data. Na druhé straně - vše, co uděláte a nastavíte, máte uloženo na kartě a k dispozici při dalším bootu.

Grafické prostředí Opie

Jedno z grafických prostředí, která můžete používat na PDA, je Opie. Toto prostředí je sice založené na starším Qt 2, ale i tak velmi dobře funguje. Spouští se bez X Window přímo ve framebufferu, což přináší své výhody i nevýhody. Výhodou je rychlost a nevelká paměťová náročnost. Nevýhodou je, že podporované jsou pouze aplikace napsané přímo pro toto prostředí, případně pár pro toto prostředí upravených, založených převážně také na Qt.

Grafické prostředí OpieGrafické prostředí Opie

Mezi aplikace, jejichž jména by vás asi mohla oslovit, patří například webový prohlížeč Konqueror embedded, přehrávač MP3 xmms embedded nebo hra kbill. Jak je vidět, některé KDE aplikace zde mají své odlehčené bratříčky. I celé prostředí má takový KDE nádech, umocněný navíc KDE ikonami, které sice nejsou součástí původního Opie tématu, ale celkem se do prostředí hodí, nemyslíte?

Opie samozřejmě obsahuje i základní sadu PIM aplikací. Ty jsou ovšem specifické pro toto prostředí. Stejně jako tabulkový či textový editor. Data PIM aplikací jsou lokálně ukládána v XML. Existuje však i plugin pro opensync pro synchronizaci s desktopem. Najdete zde klasický kalendář, todo list, správce kontaktů nebo today obrazovku s různými pluginy pro jednoduší přizpůsobení.

Další screenshot OpieDalší screenshot Opie

Jak už jsem zmiňoval, výhodou Opie je rychlost. Ta se dá u některých aplikací ještě zvýšit. Lze si totiž zaškrtnout, aby se načetly do paměti při startu systému a nikdy z ní nezmizely. Start takové aplikace je potom dílem okamžiku. A to byl také jeden z důvodů, proč jsem na svém palmu začal používat Linux. Když mi na novém PDA trvá v PalmOS start kalendáře několik vteřin, může to být celkem otravné, zvláště jdu-li někam už tak pozdě.

Další prostředí

Druhé prostředí, které je na PDA hojně používáno, je GPE. To je založeno na GTK a zapadá tak spíše do starého Gnome stylu. Hlavní rozdíl ale je, že toto prostředí už běží pod X Window a lze zde tedy provozovat takřka libovolné aplikace, na jaké si troufnete. Z aplikací, které by asi tak mohla uživatele zajímat, zde můžete nalézt Abiword, Gnumeric nebo XMMS. Odvážnější mohou vyzkoušet i GIMP. A samozřejmě i GPE má svou vlastní sadu PIM aplikací.

Grafické prostředí GPEGrafické prostředí GPE

Když ale lze provozovat normální Xka, přoč nepoužít normální desktopový okenní manažer? Jedním z důvodů může být RAM, které je u palmů buď 32 megabajtů nebo v lepším případě 64 MB. Zkoušet na tom KDE bych nechtěl. Ale některý z desktopových úspornějších okenních manažerů by neměl být problém. Už jsem na PDA viděl běžet Enlightment i Xfce. U prostředí neurčených přímo pro PDA člověk občas narazí na trochu složitější ovládání, které nepočítá s tím, že nemáte žádnou klávesnici či myš a jste odkázáni jen na stylus. Často si však stačí jen pohrát s nastavením. A kdyby to nestačilo, ve světě open source jsou vždy k dispozici i zdrojáky, takže pokud nenajdete image se svým oblíbeným prostředím, lze si ho doma vyrobit. Navíc i na palmech lze provozovat gcc. Sice to nebude zdaleka tak rychlé jako na stolním počítači, ale ta možnost tu je.

Palmy nejsou jen stromy

Pokud vás článek navnadil a už hledáte nějaký palm, neváhejte se klidně přijít na něco zeptat. Jelikož se na vývoji podílí hodně Čechů, existuje pro podporu i IRC kanál v češtině. Pokud budete mít k tomuto tématu další otázky, přijďte nás navštívit na kanál #hackndev-cz na serveru freenode.net.

Diskuze (6) Nahoru