16.01
2011

In letzter Zeit wird es ja langsam Mode sich eigene CyanogenMod-Builds zu erstellen und diese mit größeren und kleineren Modifikationen auszustatten. Ich möchte euch mein Skript vorstellen, welches die neuesten Änderungen synchronisiert und schließlich mit dem compilen anfängt. Das ganze läuft auf Ubuntu 10.10.

Vorbereitung
Zunächst wird ein lauffähiges Android SDK benötigt. Wer es noch nicht hat, kann es hier beziehen: Android SDK. Speziell brauchen wir hier die adb (Android Debug Bridge) um uns später ein paar Dateien vom Gerät holen zu können. Achtet darauf, dass der Ordner platform-tools und tools in den PATH exportiert werden.

Um CyanogenMod kompilieren zu können benötigt man noch ein paar kleine Ergänzungen, die auf den meisten Rechnern noch nicht installiert sind. Öffnet also ein Terminal und gebt folgende Befehle ein:

Das JDK6 Repository hinzufügen
sudo add-apt-repository "deb http://archive.canonical.com/ maverik partner"

32 & 64 Bit Systeme
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush

64 Bit System
sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib

Ordner für CM7 erzeugen
mkdir -p ~/bin
mkdir -p ~/android/system

Repository installieren
curl http://android.git.kernel.org/repo > ~/bin/repo
chmod a+x ~/bin/repo

Repository initialisieren
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread

Einmaliges einrichten des Workspace
repo sync -j 16 (synchronisiert mit 16 Jobs den Code)
cd ~/android/system/device/htc/passion/
./extract-files.sh
cd ~/android/system/vendor/cyanogen/
./get-rommanager

Somit wäre unser Workspace soweit eingerichtet, dass wir zum Skript-Teil kommen können.

#!/bin/bash
cd ~/android/system
make clean
make installclean
repo sync -j 16
cp ./vendor/cyanogen/products/cyanogen_passion.mk ./buildspec.mk
. build/envsetup.sh
lunch cyanogen_passion-eng
make -j`grep 'processor' /proc/cpuinfo | wc -l` bacon

Das Skript als NAME.sh speichern und später im Terminal noch die Rechte zum Ausführen vergeben:
sudo chmod u+x NAME.sh

Somit wäre das Build fertig. Was noch fehlt sind die Google Apps, die man am Besten manuell als update.zip flashen lässt.

Die fertigen Dateien findet man unter ~/android/system/out/target/product/passion/

Wer jetzt das Skript noch etwas verbessern möchte, kann zum Beispiel noch die update-Datei auf den Desktop kopieren lassen:

cp ~/android/system/out/target/product/passion/update*.zip ~/Desktop/

Wer wissen möchte wie lange ein einzelner Befehl für den Durchlauf kann dies mit dem Präfix “time” rausfinden, also zum Beispiel:
time make -j`grep 'processor' /proc/cpuinfo | wc -l` bacon

Viel Spaß damit!

Wie immer gilt davor ein Nandroid Backup zu machen und die fertige zip zB im ClockworkRecovery zu flashen.

Keine weiterführenden Links.

2 comments so far

Kommentieren
  1. [...] [...]

Dein Kommentar