Maemo 5 SDK Installation unter 64bit

Aus wiki.archlinux.de
Zur Navigation springen Zur Suche springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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


Scratchbox ist die Cross Compile Umgebung die 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 Support gibt.

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 Grub editieren 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 funktioniert so leider noch nicht mit Arch, weil der Pfad zum /boot/System.map26 falsch generiert wird (falls ihr eine andere Kernel habt schaut bitte nach wie die Endung bei euch ist).

Hierfür muss man in dieser Ziele nur das -$(KERNEL_VERSION) durch 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 anschließend 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 online sein muss da einiges herunter geladen wird.

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

Falls man nach der Installation neugestartet hat, muss man erst ein Script ausführen um scratchbox zu starten, da es einige mounts ins seinem Verzeichnis benötigt 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 kompilieren und direkt ausführen, grafisch starten die dann automatisch in dem Maemo 5 Fenster.

Außerdem kann man Dateien die man in den Ordner

MyDocs 

kopiert von dem File Manager im root Verzeichnis / 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 Spaß beim Experimentieren und Entwickeln für Maemo 5.

Weblinks