Maemo 5 SDK Installation unter 64bit: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(Anleitung zur installation des Maemo 5 SDKs zur cross Kompilierung)
 
K (correct link)
 
(8 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Scratchbox ist die cross compile umgebung die das Maemo sdk benutzt um für z.b. da N900 handy programme zu erstellen. Die installation ist eigentlich recht einfach jedoch gibt es kleine hürden für 64bit arch systeme
{{Artikelstil}}
da es nur 32 bit supported.
 
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 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.
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:
den code bekommt man von dieser Seite unter dem Link Kernel Module:
http://www.ipi.fi/~pablo/
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).
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) dur 26 ersetzten:
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 19: 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 modul mit  
nun könnt ihr das Modul mit  
  make
  make
Kompilieren und anschliesend mit
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 / installer wieder beenden.
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 tool beginnen wofür man am Internet sein muss da dieser einiges herunterläd.
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 37: 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 parameter -kb nicht daher habe ich sie kurzerhand entfernt und alles hat funktioniert, also einfach in der datei:
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 50: Zeile 50:
==Entwicklung==
==Entwicklung==


Durch starten des Scripts  
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
  /usr/local/bin/start_xephyr.sh
in einer shell bekommt man nun ein Maemo5 System in einem Fenster.
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   
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
  /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.
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.


Auserdem kann man Dateien die man in den Ordner  
Außerdem kann man Dateien die man in den Ordner  
  MyDocs  
  MyDocs  
kopiert von dem  File manager im root verzeichniss / sehen (durch ein click auf das handy icon).
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 67: Zeile 71:
  /scratchbox/users/<dein username>/home/<dein username>/MyDocs
  /scratchbox/users/<dein username>/home/<dein username>/MyDocs


viel spass mit dem rumspielen und Entwickeln für Maemo 5.
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, 06:29 Uhr

Ü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