Hlavní navigace

Neo FreeRunner: Linux do kapsy

Jozef Mlích

Neo Freerunner je spíš než běžný mobilní telefon v současné době vývojovou platformou. V tomto článku se podíváme na to, jaké možnosti Freerunner dává vývojářům. Je zde uveden také krátký přehled použitelných linuxových distribucí a shrnutí jejich nejdůležitějších odlišností od desktopového prostředí.

V linuxovém světě vládne různorodost a jinak tomu není ani u linuxového telefonu. Dokonce by se možná dalo říci, že je to jeho nejzajímavější vlastnost. Existuje několik distribucí, které mají přímo předpřipravené obrazy root filesystemu: Om 2007.2, Om 2008.*, FSO, SHR,FDOM, Qt Extented, Debian, Gentoo, Android a Hackable:1. Řadu dalších distribucí se podařilo úspěšně na freerunnera naportovat a je možné si je vlastními silami přeložit ze zdrojových kódů. Mezi tyto distribuce patří: NeoPwn, RunningBear, Poky and Sato, PyNeo lead [1].

Bootloader

Předtím než se nastartuje systém, se stará o veškerou funkcionalitu telefonu bootloader. Neo Freerunner se běžně dodává s bootloaderem u-bootem v NAND a NOR paměti. U-boot [2] je na telefonu ve dvou kopiích, protože v případě jeho špatného přeflashování lze telefon oživit jenom pomocí debug boardu.

Při normálním startu telefonu není bootloader nijak vidět a přímo nastartuje operační systém naflashovaný v telefonu. V případě, že chceme naflashovat jinou distribuci nebo nastartovat operační systém z karty, tak pomocí kombinace AUX a POWER tlačítek můžeme zobrazit menu u-bootu (viz. Obrázek 1).

FreeRunner 1

Obrázek 1.: u-boot bootloader.

V pozici alternativního bootloaderu je nyní Qi [3]. V porovnání s u-bootem neobsahuje Qi menu a přenechává složitější věci, jako je inicializace grafické karty, na linuxovém jádře. Automaticky se snaží nastartovat nejdřív systém na µSD kartě a potom až systém v NAND paměti. Signalizace toho, co se právě děje, je vyřešená pomocí LEDek. Qi nabízí až o 40 sekund rychlejší start systému a do jisté míry řeší problémy s úplným vybitím baterie.

Dobrým důvodem k nasazení Qi může být fakt, že u-boot ve výchozím nastavení nepodporuje velká jádra (> 2 MB). Tato možnost se v u-bootu musí explicitně povolit.

Jádro

Nedílnou součástí linuxový distribucí je jádro [4]. OpenMoko distribuce používají Vanilla jádro mírně modifikované pro hardware Nea nebo Freerunera. Modifikace se týkají hlavně periferních zařízení (čtečka karet, gsm modul, akcelerometry). Implementace těchto modulů je přebraná z iPaqu nebo z TomTom GO. Celé jádro se všemi úpravami si každý může zkusit stáhnout z příslušného git repozitáře a přeložit [5].

Momentálně se mluví o dvou hlavních větvích jádra. O stable a vývojové verzi andy-tracking, kterou má na svědomí Andy Green (tedy alespoň její jméno).

Framework

Jednou z nejzajímavějších myšlenek, na které staví hlavně distribuce FSO, je framework, což je daemon, který běží v userspace a má za úkol zprostředkovat aplikacím jednotné „vysokoúrovňové“ rozhraní k hardware. Jak by to mělo vypadat, je znázorněno na obrázku 2.

FSO framework

Obrázek 2.: FSO framework

Konkrétně to znamená, že pro přístup k seznamu kontaktů, příjem sms zprávy či telefonního hovoru program nebude komunikovat přímo s modemem, ale jenom pošle zprávu pomocí dbusu frameworku. Vysokoúrovňovost potom spočívá v tom, že se framework sám rozhodne, jestli je hledaná osoba uložená na sim kartě nebo v interní databázi na sd kartě. Navíc není nutné znát příslušný AT příkaz vztahující se ke konkrétnímu modelu gsm čipu.

Grafické prostředí

I když je backend systému hodně důležitý, člověk přijde do kontaktu nejdřív s uživatelským rozhraním. Protože se jedná o Linux, tak v zásadě není problém na Freerunerovi spustit například KDE 4 [6]. Problém je v tom, že KDE 4 není přizpůsobené pro použití na telefonu, zvláště co se týče paměti a procesoru. Navíc je obrazovka telefonu poměrně malá (480×640). Používaní dotykové obrazovky a absence hardwarové klávesnice vyžaduje velmi odlišný přístup. Problém je konkrétně s pravým tlačítkem myši, které není v současné době nijak emulované. Pro pohodlné ovládání prsty jsou potřeba větší tlačítka, atd.

Co se týče technologie, lze používané přístupy rozdělit do dvou skupin. Na rozhraní používající vykreslování přímo do framebufferu nebo používající X Server. Použití framebufferu se pozitivně odráží na rychlosti celého zařízení naopak použití X Serveru umožňuje spuštění prakticky libovolné linuxové aplikace, aniž by bylo nutné ji celou překopat.

FreeRunner systém  FreeRunner systém  FreeRunner systém  FreeRunner systém

Obrázek 3.: Screenshoty různých distribucí. (zleva Om 2007.2, FSO, Qt Extended, Google Android)

Do první skupiny lze zařadit Qt Extended a Androida. Qt Extended je poměrně zralá distribuce pro handheldy
a mobilní telefony postavená na toolkitu Qt. Android je na druhou stranu poměrně nová věc, která se
snaží stavět na svém vlastním javovém frameworku.

Do druhé skupiny patří distribuce Openmoko Distribuce, přičemž Om 2007 využívalo vlastní rozhraní založené na GTK (toolkit qt nebyl součásti Om2007). Naproti tomu Om 2008.x, FSO a SHR využívají Enlightenment window manager.

Aplikace

Z předchozí informací o GUI a Frameworku celkem vyplývá, že aplikace mezi jednotlivými distribucemi nemusí být vždy přenositelné a to buď z důvodu použitého toolkitu nebo přílišné provázaností s hardware. Detailní popis jednotlivých aplikací je mimo možnosti tohoto článku, přehled schopností jednotlivých distribucí je shrnutý v [7].

Smutným faktem bohužel je, že aplikace pro telefonování a psaní sms v žádné ze zmíněných distribucí nejsou v ideálním stavu. Prakticky jedinou hotovou distribucí použitelnou pro běžného smrtelníka je Qt Extended 3.4, která ovšem nemá webový prohlížeč ani mapový software. Novější Qt Extended tyto programy už má, ale pro změnu trpí jinými nedostatky.

Reference

[1] http://wiki.o­penmoko.org/wi­ki/Distributi­ons
[2] http://wiki.o­penmoko.org/wi­ki/Bootloader
[3] http://wiki.o­penmoko.org/wi­ki/Qi
[4] http://wiki.o­penmoko.org/wi­ki/Kernel
[5] http://lists.o­penmoko.org/nab­ble.html#nabble-td2116807
[6] http://www.you­tube.com/watch?v=ky-gbF1rgb4
[7] http://wiki.o­penmoko.org/wi­ki/Distributi­ons#Features_by_dis­tribution.2Fre­lease_target

Našli jste v článku chybu?

24. 2. 2009 8:35

nobody (neregistrovaný)
Je to jen dalsi blb ktery nedokaze pochopit vyznam slovniho spojeni "zarizeni pro vyvojare"

28. 2. 2009 22:56

networ (neregistrovaný)
Na Zauru nejen ze se Linux dá jet, ale je to defaultní OS od výrobce (Sharp). Já na svém C1000 používám originální Linux modifikovaný Antonem Maslovským a vydaný pod jménem Cacko. Nevýhodou je zastaralé jádro 2.4.20, naopak výhodou je, že se v Cacku používají originální ovladače hw.
Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

120na80.cz: 5 nejčastějších mýtů o kondomech

5 nejčastějších mýtů o kondomech

Měšec.cz: Sleva na dítě a manželku pro OSVČ je zpět. Ale..

Sleva na dítě a manželku pro OSVČ je zpět. Ale..

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Láska na vozíku: Přitažliví jsme pro tzv. pečovatelky

Vitalia.cz: Potvrzeno: Pobyt v lese je skvělý na imunitu

Potvrzeno: Pobyt v lese je skvělý na imunitu

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Vitalia.cz: Nejlepší obranou při nachlazení je útok

Nejlepší obranou při nachlazení je útok

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Podnikatel.cz: Udávání a účtenková loterie, hloupá komedie

Udávání a účtenková loterie, hloupá komedie

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: Pamlsková vyhláška bude platit jen na základkách

Pamlsková vyhláška bude platit jen na základkách

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: Proč vás každý zubař posílá na dentální hygienu

Proč vás každý zubař posílá na dentální hygienu