Benutzer-Werkzeuge

Webseiten-Werkzeuge


aufsetzen_der_entwicklungsumgebung

Aufsetzen der Entwicklungsumgebung

Dieser Artikel beschreibt auf Basis von Ubuntu 12.04, wie man die Entwicklungsumgebung aufsetzt. Mit der Entwicklungsumgebung kann man dann eigene Firmware-Images für die Box bauen und über den Upgrade-Mechanismus installieren.

Installation von Ubuntu 12.04

Es kann die normale Desktop Installation genutzt werden. Es sollte nur genügend Festplattenplatz eingeplant werden. 10GB sollten für das Medion SDK und das Kompilieren der Images aber ausreichen.

Installation der verfügbaren Updates

Nach der Installation sollten alle verfügbaren Updates über die Aktualisierungsfunktion von Ubuntu installiert werden. Im Normalfall weist Ubuntu einen auf neue Updates hin.

Gasterweiterungen installieren

Dieser Schritt ist nur notwendig, wenn man Ubuntu in einer virtuellen Machine mit VirtualBox installiert. Die Gasterweiterungen können über das Menu Geräte → Gasterweiterungen installiert werden.

Installation von Sun Java JDK

Android benötigt für Froyo (Version 2.2) und früher Java 1.5.

$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
$ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
$ sudo apt-get update
$ sudo apt-get install sun-java5-jdk

Installation zusätzlich benötigter Pakete

Zum Kompilieren von Android werden folgende zusätzliche Pakete installiert. Dieser Schritt stammt von http://source.android.com/source/initializing.html

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386

Gemeinsames Verzeichnis von VM und Host-System anlegen

Auch dieser Schritt wird nur benötigt, wenn man Ubuntu in einer virtuellen Machine betreibt. Wir legen ein Verzeichnis fest, das zwischen der virtuellen Machine und dem Host-System geteilt wird. Auf diese Weise kann man leicht Dateien zwischen den Systemen austauschen.

  • Menu Geräte → Gemeinsame Ordner
  • Verzeichnis auswählen, in dem das Medion SDK (zip) liegt und Namen für das Gemeinsame Verzeichnis festlegen
  • Mountpoint für das gemeinsame Verzeichnis anlegen:

$ sudo mkdir /mnt/shared

  • Gemeinsames Verzeichnis mounten:

$ sudo mount -t vboxsf <Name von vorher> /mnt/shared

Medion SDK installieren

Wir installieren das Medion SDK in unserem Home-Verzeichnis

$ cd
$ sudo tar xzvf /mnt/shared/gpl_source_md86597_86589.tar.gz
$ sudo chown -R hacker:hacker ~/MediOn_SDK_v1.3_SVAFDP02D

PATH setzen

Die PATH-Variable muss noch gesetzt werden, damit auch tatsächlich Java 1.5 zum Kompilieren benutzt wird. Dieser Befehl kann auch in ~/.bashrc eingetragen werden, damit man ihn nicht jedes mal vor dem Kompilieren eingeben muss.

$ export PATH=/usr/lib/jvm/java-1.5.0-sun-1.5.0.22/bin:$PATH

Cross Compile Toolchain installieren

Dieser Schritt ist nur beim ersten Ausführen notwendig. Die Cross Compile Toolchain wird benötigt, weil wir für die ARM-Plattform kompilieren und die Entwicklungsumgebung auf x86 läuft. Die Installation wurde aber von Skyviia sehr vereinfacht.

$ cd ~/MediOn_SDK_v1.3_SVAFDP02D
$ ./8860_menu.sh
9)

Dateien anpassen

Der Kompiler schlägt an einigen Stellen fehl, wenn man diese Dateien nicht anpasst. Das Verhalten kann von System zu System unterschiedlich sein. Auf meinem Gentoo Linux konnte ich zum Beispiel mit weniger Anpassungen kompilieren. Für Ubuntu 12.04 sind diese Anpassungen nötig:

$BASIS/skydroid-2.2/device/skyviia/Tools/scan_f/Android.mk   	# Zeile 21 auskommentieren
$BASIS/skydroid-2.2/build/core/combo/HOST-linux-x86.mk  	# Zeile 33 -lpthread ergänzen
$BASIS/skydroid-2.2/frameworks/base/libs/utils/Android.mk  	# Zeile 57 -fpermissive ergänzen
$BASIS/skydroid-2.2/device/skyviia/sv8860/Android.mk   		# alles auskommentieren
$BASIS/skydroid-2.2/frameworks/base/tools/aapt/Android.mk 	# Zeile 41 -lpthread ergänzen
$BASIS/skydroid-2.2/frameworks/base/tools/localize/Android.mk	# Zeile 37 -lpthread ergänzen

Kompilieren

./8860_menu.sh
3) Build FW of Hybrid STB
1) Make world -- Debug build  -- adb enable

Bei dem Build-Vorgang werden jeweils der Bootloader u-boot, der Linux-Kernel und die Android-Plattform gebaut. Wenn man u-boot und Kernel bei einem Durchlauf bereits erfolgreich gebaut hat, kann man den Build-Vorgang beschleunigen, indem man diese beiden Teile auskommentiert in $BASIS/build_script/build_firmware.sh ab Zeile 304.

Flashen

Wenn man ein fertiges .fw Image gebaut hat, kann man es in den Flash-Speicher der Box flashen.

aufsetzen_der_entwicklungsumgebung.txt · Zuletzt geändert: 25.03.2013 14:42 von root