Maemo 5 SDK Installation unter 64bit

Aus wiki.archlinux.de
Version vom 29. September 2010, 23:47 Uhr von Boenki (Diskussion | Beiträge) ({{Artikelstil}})

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Überarbeitung.png Dieser Artikel oder Artikelabschnitt bedarf einer stilistischen Überarbeitung laut Empfehlungen in Artikelstil.


Scratchbox ist die cross compile Umgebung die das Maemo 5 SDK benutzt um z.b. für das N900 Handy zu Programmieren. Die Installation ist eigentlich recht einfach jedoch gibt es kleine hürden für 64bit arch Systeme da es nur 32 bit supported.

Installation

Als erstes müssen wir im Kernel vdso32 auf 0 setzen sonst bricht schon der Installer mit Fehlermeldungen ab, dies geht per Kernel Boot Command Line mit vdso32=0, wer aber nicht an grub rumfummeln will (never touch a booting grub ;) für den gibt es eine Alternative. Es ein sehr kleines Kernel Module das diesen wert in runtime setzten kann und ihn danach auch wieder zurück setzt. den code bekommt man von dieser Seite unter dem Link Kernel Module: http://www.ipi.fi/~pablo/

Das makefile funktionier so leider noch nicht mit Arch das der Pfad zum /boot/System.map26 falsch generiert wird (falls ihr eine andere Kernel hab schaut bitte nach wie die endung bei euch ist).

Hierfür muss man in dieser Ziele nur das -$(KERNEL_VERSION) dur 26 ersetzten:

CFLAGS_vdso_disable.o = -DVDSO32_ADDR=0x$(shell grep sysctl_vsyscall32 /boot/System.map-$(KERNEL_VERSION)|cut -f 1 -d ' ')

so das dann:

CFLAGS_vdso_disable.o = -DVDSO32_ADDR=0x$(shell grep sysctl_vsyscall32 /boot/System.map26 |cut -f 1 -d ' ')

nun könnt ihr das modul mit

make

Kompilieren und anschliesend mit

insmod vdso_disable.ko

laden und mit

rmmod vdso_disable.ko

nach arbeiten mit dem SDK / installer wieder beenden.

natürlich steht es jedem frei das Module richtig zu installieren und in seine rc.conf einzutragen so dass man insmod nicht vergisst.


Nun können wir die Installation mit dem GUI tool beginnen wofür man am Internet sein muss da dieser einiges herunterläd.

wget http://repository.maemo.org/stable/5.0/maemo-sdk-install-wizard_5.0.py
chmod a+x maemo-sdk-install-wizard_5.0.py

und mit root rechten dann ausführen da es einen ordner /scratchbox anlegen will

sudo ./maemo-sdk-install-wizard_5.0.py

Nun sind wir fast fertig, jedoch führte das Script auf das auch die vom Installer erzeugte Desktop Verknüpfung zeigt /usr/local/bin/start_xephyr.sh bei mir zu einem Fehler Xrphyr kannte die parameter -kb nicht daher habe ich sie kurzerhand entfernt und alles hat funktioniert, also einfach in der datei:

/usr/local/bin/start_xephyr.sh

Diese Zeile:

(Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -kb; newgrp sbox <<'END'

zu

(Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac; newgrp sbox <<'END'

ändern.


Entwicklung

Fals man nach der Installation Neugestartet hat muss man erst ein Script ausführen um scratchbox zu starten, da es einige mounts ins seinem Verzeichniss benötig und sonst der start mit Fehlern abbricht.

sudo /scratchbox/sbox_ctl restart

Nun bekommt man durch starten des Scripts in einem Terminal

/usr/local/bin/start_xephyr.sh

ein Maemo5 System in einem Fenster.

Will man jetzt ein Programm Compilieren kann man einfach noch ein neues Terminal öffnen und sich dort in die scratchbox einloggen durch ausführen von

/scratchbox/login

hier kann man nun durch nano gcc ect seine programme bearbeiten und compileren und direkt ausführen, grafisch starten die dann automaitsch in dem Maemo 5 fenster.

Auserdem kann man Dateien die man in den Ordner

MyDocs 

kopiert von dem File manager im root verzeichniss / sehen (durch ein click auf das handy icon).

wer nicht nur mit nano arbeiten will kann natürlich unter seinem Desktop alles Editieren und dann die Dateien in MyDocs kopieren um sie zu Kompilieren, der ordner befindet sich unter:

/scratchbox/users/<dein username>/home/<dein username>/MyDocs

viel spass mit dem rumspielen und Entwickeln für Maemo 5.

Weblinks