RkBlog

Hardware, programming and astronomy tutorials and reviews.

Instalacja Scratchboxa i Maemo Fremantle SDK

System Maemo 5 Fremantle wykorzystywany jest w smartphonie Nokii N900. Dla programist贸w dost臋pne jest SDK i emulator systemu oparty o Scratchboxa. Niestety ca艂o艣膰 wykonana jest w surowym i topornym stylu Nokii. Do obs艂ugi i instalacji SDK b臋d膮 potrzebne pewne umiej臋tno艣ci pracy w konsoli z Linuksem.

Dost臋pne s膮 dwa skrypty instalacyjne dost臋pne na stronie Nokii. Pod "Download version for:" mamy do wyboru "GUI Installer", "Scratchbox Installer" i "SDK Installer". Pierwsza opcja - GUI wymaga PyQt4 i mo偶e nie dzia艂a膰 (mi rzuca wyj膮tek b艂臋dnego argumentu funkcji). Standardowa instalacja obejmuje pozosta艂e dwa skrypty, kt贸re trzeba pobra膰. Instalacj臋 mo偶na przeprowadzi膰 pod 32-bitowym Linuksem. Dost臋pna jest te偶 opcja instalacji na 64 bitowej dystrybucji, lecz jej nie testowa艂em (a scratchbox i tak nie dzia艂a pod 64 bitowymi systemami).

Instalacja Scratchboxa i SDK

Odpalamy skrypt instaluj膮cy Scratchboxa:
maemo-scratchbox-install_5.0.sh -s /艣cie偶ka/

Podaj膮c 艣cie偶k臋 do katalogu, w kt贸rym ma by膰 zainstalowany Scratchbox (zazwyczaj /scratchbox lub /opt/scratchbox). Skrypt zacznie pobiera膰 i instalowa膰 pakiety.

Po instalacji Scratchboxa instalujemy SDK podaj膮c t膮 sam膮 艣cie偶k臋:
maemo-sdk-install_5.0.sh -s /艣cie偶ka/

Konfiguracja SDK

Pierwsze to dodanie do scratchboxa konta zwyk艂ego u偶ytkownika (z kt贸rego operujemy). Jako root wykonaj:
*/scratchbox/sbin/sbox_adduser NAZWA_U呕YTKOWNIKA
Musimy tak偶e uruchomi膰 us艂ug臋 Scratchboxa (za ka偶dym razem, gdy chcemy korzysta膰 z platformy):
*/scratchbox/sbin/sbox_ctl start
Po czym mo偶emy logowa膰 si臋 do frameworka wykonuj膮c polecenie jako zwyk艂y u偶ytkownik:
*/scratchbox/login
Je偶eli mamy problemy z prawami dost臋pu do logowania to jako root wykonaj:
chown USER */scratchbox/login
Stosuj膮c stosown膮 nazw臋 u偶ytkownika. Po zalogowaniu si臋 jeste艣my "wewn膮trz" systemu maemo i mo偶emy pracowa膰, instalowa膰 pakiety (apt-get), czy te偶 kompilowa膰 w艂asny kod. Dost臋pny jest panel umo偶liwiaj膮cy instalacj臋 wielu instancji systemu o r贸偶nych architekturach (ARMEL, x86) - konfigurowane przez sb-menu. Do pracy nad aplikacjami wystarczy wersja i386.
scratchbox1

Serwer X贸w Xephyr

Xephyr to "lekki" serwer X贸w dobrze oddaj膮cy ekrany urz膮dze艅 mobilnych. W zale偶no艣ci od dystrybucji xephyr b臋dzie zawarty w pakiecie xorg lub w postaci oddzielnego pakietu, np "xserver-xephyr" pod Debianem. Xephyra b臋dziemy u偶ywa膰 do uruchamiania Maemo. Mo偶emy przeprowadzi膰 test uruchamiaj膮c Xephyra wewn膮trz dzia艂aj膮cego normalnego serwera X.org:
Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac
I w drugim terminalu:
export DISPLAY=:2
xterm
Co powinno uruchomi膰 Xterm w oknie Xephyra.

Instalacja dodatkowych pakiet贸w

Skrypty instalacyjne nie zainstaluj膮 w艂asno艣ciowych pakiet贸w potrzebnych do uruchomienia systemu. Wchodzimy na stron臋 Nokii i zgadzamy si臋 na warunki licencji. Dostaniemy kod do repozytorium z odpowiednim tokenem, kt贸ry wklejamy do (po zalogowaniu do Scratchboxa) /etc/apt/sources.list. Nast臋pnie wykonujemy:
apt-get update
fakeroot apt-get install nokia-binaries nokia-apps

Uruchamianie Maemo w Xephyrze

Po zainstalowaniu si臋 pakiet贸w mo偶emy odpali膰 Maemo w Xephyrze (po zalogowaniu si臋 do Scratchboxa):
export DISPLAY=:2
af-sb-init.sh start
fmaemo1

Praca z Maemo

Po zalogowaniu si臋 do Scratchboxa mamy dost臋p do kompletnego systemu opartego o Debiana. Za pomoc膮 apt-get mo偶emy instalowa膰 pakiety z repozytori贸w. System znajduje si臋 w */scratchbox/users/NAZWA_U呕YTKOWNIKA/. Poprzez system odpalony w Xephyrze mamy mo偶liwo艣ci instalowa膰 cz臋艣膰 aplikacji i ogl膮da膰 te odpalone przez nas z konsoli.

maemo2
maemo3
Na pocz膮tek warto doda膰 repozytorium z dodatkowymi pakietami potrzebnymi do pracy. Do /etc/apt/sources.list dodaj:
deb http://repository.maemo.org/extras-devel/ fremantle free non-free
I wykonaj apt-get update. Instalacj臋 nale偶y przeprowadza膰 z fakeroot (i apt-get install). Do szukana mo偶na wykorzysta膰 apt-cache search.

By odpali膰 w艂asn膮 aplikacj臋, np. skrypt Pythona w nowym oknie terminala logujemy si臋 do scratchboxa (przy dzia艂aj膮cym systemie w Xephyrze) i odpalamy - aplikacja powinna pojawi膰 si臋 w oknie Maemo.

RkBlog

Systemy wbudowane, 16 February 2010, Piotr Mali艅ski

Comment article