Nokia N900: telefon pro geeky ze seriálu IT Crowd

Nokia nám tvrdí, že je N900 počítač, který se vejde do kapsy. Dnes si názorně ukážeme, že je to naprostá pravda. Radek Hulán prohání Maemo.
Kapitoly článku

Autor: Radek Hulán píše odborný blog na adrese MyEgo.cz a zajišťuje realizaci webových prezentací ve společnosti F-ART AGENCY s.r.o.

rado100.jpg


Nokia N900 byla již na MobilManii podrobně představena ve velkém testu, a to z tradičního uživatelského pohledu. Tento článek se zaměří na specifické a výrazně technické věci (to má být varování pro běžné uživatele) – zprovoznění vývojového prostředí Maemo SDK a popis kompilace a vývoje aplikací pro tento telefon.

Nokii N900 pohání Linux, konkrétně je to Debian pro ARM procesory s verzí kernelu 2.6.28. To dává zajímavé možnosti zejména ve snadném přenosu obrovského portfolia existujících GNU aplikací na tuto platformu, a částečně i pro váš vlastní vývoj (i když zde bych neviděl pozici N900 až tak silnou, konkurence třeba ve formě Visual Studia 2008 a vývoje pro Windows Mobile je výborná).

V N900 je použit ARM procesor, který nepodporuje x86 architekturu, je tedy potřeba kompilovat aplikace speciálně pro tento cíl. Nokia dodává v Maemo SDK crosscompiler Scratchbox, který umí zkopilovat váš kód nejen pro x86 platformu, ale i pro ARM procesor, a obsahuje také X Server Xephyr a podstatnou část uživatelského prostředí telefonu (UI), v němž můžete otestovat x86 aplikaci předtím, než ji nahrajete do přístroje.

Klepněte pro větší obrázek

Instalace Maemo SDK

Instalátor Maemo SDK si můžete stáhnout ve formě 100KB "grafického klikátka" (Qt aplikace v Pythonu) anebo terminálového skriptu na stránkách nokia.com. Součástí instalace je i nutný souhlas s Nokia EULA a zadání captcha kódu, protože z části budete stahovat uzavřený binární kód. Pro instalaci je doporučeno použít Debian, nebo nějaký systém na něm založený, tedy třeba oblíbené Ubuntu 9.10.

Pokud už Debian / Ubuntu používáte, ať už ve virtuálním stroji pomocí VMware Workstation či Windows Virtual PC, anebo jako ostré prostředí, postačí vám stáhnout si výše uvedený skript. Pokud jste uživatel jiného operačního systému (typicky Windows), můžete si stáhnout virtuální obraz (jedná se o instalaci Ubuntu) a do něj nainstalovat příslušné SDK, popřípadě si Ubuntu stáhnout a instalovat z Ubuntu.com. Ke spuštění použijte vynikající VMware Player.

Instalační skript v Pythonu spustíte následovně:

$ chmod a+x maemo-sdk-install-wizard_5.0.py
$ sudo ./maemo-sdk-install-wizard_5.0.py

Vlastní instalace si stahuje stovky MB dat z internetu, takže to nějakou chvíli zabere, při instalaci můžete použít přednastavené hodnoty pro veškeré dotazy.

Klepněte pro větší obrázek

Emulace prostředí Nokia N900 na PC

Po instalaci se vám na ploše vytvoří odkaz na spuštění Xephyr serveru, který si pochopitelně můžete zavolat i z příkazové řádky (viz dokumentace):

$ Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb &

Samotný Xephyr X Server sice k vývoji nutně nepotřebujete, ale bude se vám hodit pro otestování a ladění aplikace předtím, než ji nahrajete na telefon. Prostředí crosscompileru Scratchbox spustíte následovně:

$ /scratchbox/login

Pro testování aplikace pro Nokia N900 na PC musíte nastavit DISPLAY proměnnou shodně s konfigurací Xephyr serveru a spustit emulaci uživatelského prostředí Nokia telefonu pomocí zavolání skriptu af-sb-init.sh:

$ export DISPLAY=:2
$ af-sb-init.sh start

Tímto se vám spustí Xephyr server na vašem PC s aplikačním a uživatelským rozhraním Nokia N900 a můžete s ním pracovat:

Klepněte pro větší obrázek   

Scratchbox crosscompiler a jeho cíle

Crosscompiler Scratchbox má předdefinované dva různé cíle. První je nazvaný FREMANTLE_X86 pro kompilaci, spouštění a ladění Maemo aplikací na vašem PC, a druhý FREMANTLE_ARMEL, který nastavuje prostředí a kompilátor pro ARM architekturu a umožňuje kompilovat aplikace pro spuštění v telefonu. Mezi těmito dvěma cíly se můžete přepínat pomocí aplikace sb-menu a následné volby Select target:

Klepněte pro větší obrázek

Alternativou je použití sb-conf, a to jedním z následujících příkazů:

$ sb-conf select FREMANTLE_ARMEL
$ sb-conf select FREMANTLE_X86

Témata článku: Nokia, , HTC Touch, HTC Touch 3G, Nokia N900, Art Age, EULA, Seriál, Pro +, Proměnné prostředí, Obrana, Linux Maemo, Telefon, Python, Caps lock, Debian