RkBlog

Hardware, programming and astronomy tutorials and reviews.

Instalacja Scratchboxa i Maemo Fremantle SDK

Opis instalacji i konfiguracji SDK Maemo 5.0 Fremantle.

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

16 February 2010;

Comment article