Maemo 5 SDK Installation unter 64bit: Unterschied zwischen den Versionen
Boenki (Diskussion | Beiträge) K {{Artikelstil}} |
K correct link |
||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Artikelstil}} | {{Artikelstil}} | ||
Scratchbox ist die | |||
da es nur 32 | 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== | ==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, | 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. | ||
wer aber nicht | |||
Alternative. | Es ein sehr kleines Kernel Module das diesen Wert in runtime setzten kann und ihn danach auch wieder zurück setzt. | ||
Es ein sehr kleines Kernel Module das diesen | Den Code bekommt man von dieser Seite unter dem Link Kernel Module: | ||
http://www.ipi.fi/~pablo/ | http://www.ipi.fi/~pablo/ | ||
Das makefile | 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) | 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 ' ') | CFLAGS_vdso_disable.o = -DVDSO32_ADDR=0x$(shell grep sysctl_vsyscall32 /boot/System.map-$(KERNEL_VERSION)|cut -f 1 -d ' ') | ||
Zeile 20: | Zeile 19: | ||
CFLAGS_vdso_disable.o = -DVDSO32_ADDR=0x$(shell grep sysctl_vsyscall32 /boot/System.map26 |cut -f 1 -d ' ') | CFLAGS_vdso_disable.o = -DVDSO32_ADDR=0x$(shell grep sysctl_vsyscall32 /boot/System.map26 |cut -f 1 -d ' ') | ||
nun könnt ihr das | nun könnt ihr das Modul mit | ||
make | make | ||
Kompilieren und | Kompilieren und anschließend mit | ||
insmod vdso_disable.ko | insmod vdso_disable.ko | ||
laden und mit | laden und mit | ||
rmmod vdso_disable.ko | rmmod vdso_disable.ko | ||
nach arbeiten mit dem SDK / | 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. | 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 | 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 | 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 | chmod a+x maemo-sdk-install-wizard_5.0.py | ||
Zeile 38: | Zeile 37: | ||
sudo ./maemo-sdk-install-wizard_5.0.py | 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 | 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 | /usr/local/bin/start_xephyr.sh | ||
Zeile 51: | Zeile 50: | ||
==Entwicklung== | ==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 | da es einige mounts ins seinem Verzeichnis benötigt und sonst der Start mit Fehlern abbricht. | ||
sudo /scratchbox/sbox_ctl restart | sudo /scratchbox/sbox_ctl restart | ||
Zeile 62: | Zeile 61: | ||
/scratchbox/login | /scratchbox/login | ||
hier kann man nun durch nano gcc ect seine | 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 | MyDocs | ||
kopiert von dem File | 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: | 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: | ||
Zeile 72: | Zeile 71: | ||
/scratchbox/users/<dein username>/home/<dein username>/MyDocs | /scratchbox/users/<dein username>/home/<dein username>/MyDocs | ||
viel | viel Spaß beim Experimentieren und Entwickeln für Maemo 5. | ||
==Weblinks== | ==Weblinks== | ||
*[http://www.ipi.fi/~pablo/ pablo's vdso_disable Kernel Module] {{sprache|en}} | *[http://www.ipi.fi/~pablo/ pablo's vdso_disable Kernel Module] {{sprache|en}} | ||
*[http://wiki.maemo.org/Documentation/Maemo5_Final_Installation Maemo5 SDK Installation] {{sprache|en}} | *[http://wiki.maemo.org/Documentation/Maemo5_Final_Installation Maemo5 SDK Installation] {{sprache|en}} | ||
[[Kategorie:Entwicklung]] |
Aktuelle Version vom 14. Oktober 2020, 05:29 Uhr
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.