andry
Fortgeschrittenes Mitglied
- 37
Hallo,
da das kleine How-To im XDA einerseits Englisch und andererseits etwas merkwürdig geschrieben wurde, habt ihr hier eine kurze Anleitung auf Deutsch.
Die vorher zu installierenden Pakete sind in etwa gleich. Allerdings installiert Debian mit dem meta-package "build-essentials" keine Header-files, außerdem unterscheiden sich je nach Version Paketnamen:
Vorbereitung
Für Debian Squeeze (amd64)
1. "non-free" Repository eurer sources.list hinzufügen (Debian Wiki), "apt-get update" ausführen, um die Änderungen zu übernehmen
2. Abhängigkeiten installieren:
Hinweis für Sid Benutzer: Statt "lib32readline6-dev" einfach mal "lib32readline-gplv2-dev" ausprobieren, außerdem "libwxgtk2.6-dev" durch "libwxgtk2.8-dev" ersetzen, sollte so funktionieren, aber ohne Garantie.
Für Ubuntu >=11.10 (amd64)
1. Abhängigkeiten installieren:
Synchronisieren, Kompilieren:
Hinweis: Damit zukünftige Builds schneller zu kompilieren sind, benutzt ihr am besten jetzt schon den Cache. Um das auch nach einem Reboot beizubehalten, kommt der Befehl in die bashrc:
Jetzt noch den CCACHE vergrößern, da er im Standard sehr klein ist, dafür braucht ihr das Paket "ccache", das ihr via apt installiert:
Anschließend den Cache erweitern (benötigt 5GB weiteren freien Speicherplatz):
1. "repo" herunterladen, ausführbar machen und nach /usr/local/bin verschieben:
2. Ein Verzeichnis mit genug Speicher aussuchen, die Sources haben allein schon etwa 9GB. In diesem Beispiel: /home/user/cmod
3. In das neue Verzeichnis wechseln, das Repo. initialisieren:
4. Jetzt kommt das leidige Laden der Source, ebenfalls im selben Verzeichnis ausführen:
Hinweis: "-j 8" bezieht sich auf die gleichzeitigen Jobs. Wenn es trotz 8 Jobs über 5 Stunden dauert, einfach mal ein paar mehr ausprobieren.
5. Geräte spezifische Sourcen herunterladen:
Die nächste Zeile müsst ihr vor jedem Build ausführen!
Ganz genau so schreiben! Punkt, Leerzeichen, build/envsetup.sh.
6. Proprietäre Daten vom Gerät holen:
Als erstes müsst ihr adb installieren, das könnt ihr entweder über das Android SDK machen oder hier als einzelnes Programm herunterladen, ausführbar machen und verschieben:
Danach müsst ihr USB-Debugging am Nexus 4 aktivieren und es an den Computer anschließen.
Diese Zeile solltet ihr alle 2-3 Wochen wiederholen.
7. Pre-Builts holen:
Ich glaube - bin mir aber nicht mehr allzu sicher -, dass die Datei bei mir nicht ausführbar war, falls das bei euch auch so ist, vorher ausführbar machen:
9. Los geht's:
Aktualisieren, Kompilieren:
1. Schritt 7 und 8 wiederholen
Hinweis: Bei Schritt 7 bin ich mir nicht sicher, da ich nicht weiß, wie oft die Pre-Builds aktualisiert werden, aber schaden kann es nicht.
2. Sources bereinigen (dadurch werden alte Builds gelöscht, vorher sichern):
3. Das Repository aktualisieren:
4. "Bauen"
Hinweis: "brunch" führt "breakfast" aus, anschließend "mka".
Wer die Zeit für das Kompilieren messen will, kann vor "brunch" den Befehl "time" einsetzen.
Die gebauten Dateien liegen anschließend im Verzeichnis "/home/user/cmod/out/target/product/mako"
Vielleicht hilft es ja jemandem.
PS: Habe auf die wirklich total einfachen Sachen verzichtet, Beispiel: Verzeichniswechsel, Installation von Debian/Ubuntu etc. Der Verweis auf das Debian Wiki ist hoffentlich gestattet!
André
// Edit:
local_manifest.xml is deprecated: Wurde angepasst.
"repo"-Datei aktualisiert
Cache-Hinweis
Breakfast für den Fall der Fälle hinzugefügt
Ein paar Zeilen angepasst.
Wenn es zu Fehlern beim Synchronisieren kommt (und das ist oft), einfach abwarten! Das kommt leider sehr, sehr oft vor!
da das kleine How-To im XDA einerseits Englisch und andererseits etwas merkwürdig geschrieben wurde, habt ihr hier eine kurze Anleitung auf Deutsch.
Die vorher zu installierenden Pakete sind in etwa gleich. Allerdings installiert Debian mit dem meta-package "build-essentials" keine Header-files, außerdem unterscheiden sich je nach Version Paketnamen:
Vorbereitung
Für Debian Squeeze (amd64)
1. "non-free" Repository eurer sources.list hinzufügen (Debian Wiki), "apt-get update" ausführen, um die Änderungen zu übernehmen
2. Abhängigkeiten installieren:
Code:
apt-get install git-core gnupg flex bison python rar original-awk gawk p7zip-full gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils g++-multilib lib32z1-dev ia32-libs lib32ncurses5-dev lib32readline6-dev gcc-multilib g++-multilib xsltproc openjdk-6-jdk linux-headers-$(uname -r)
Für Ubuntu >=11.10 (amd64)
1. Abhängigkeiten installieren:
Code:
apt-get install git-core gnupg flex bison python rar original-awk gawk p7zip-full gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils g++-multilib lib32z1-dev ia32-libs lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib g++-multilib xsltproc
Hinweis: Damit zukünftige Builds schneller zu kompilieren sind, benutzt ihr am besten jetzt schon den Cache. Um das auch nach einem Reboot beizubehalten, kommt der Befehl in die bashrc:
Code:
echo "export USE_CCACHE=1" >> /etc/bash.bashrc
Code:
apt-get install ccache
Code:
ccache -M 5G
1. "repo" herunterladen, ausführbar machen und nach /usr/local/bin verschieben:
Code:
wget http://www.isinux.de/repo && chmod +x repo && mv repo /usr/local/bin/
3. In das neue Verzeichnis wechseln, das Repo. initialisieren:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.1
Code:
repo sync -j 8
5. Geräte spezifische Sourcen herunterladen:
Die nächste Zeile müsst ihr vor jedem Build ausführen!
Code:
. build/envsetup.sh
Code:
lunch cm_mako-userdebug
Als erstes müsst ihr adb installieren, das könnt ihr entweder über das Android SDK machen oder hier als einzelnes Programm herunterladen, ausführbar machen und verschieben:
Code:
wget http://www.isinux.de/adb && chmod +x adb && mv adb /usr/local/bin/
Code:
cd device/lge/mako
./extract-files.sh
cd ../../..
7. Pre-Builts holen:
Code:
/home/user/cmod/vendor/cm/get-prebuilts
Code:
chmod +x /home/user/cmod/vendor/cm/get-prebuilts
Code:
brunch mako
1. Schritt 7 und 8 wiederholen
Hinweis: Bei Schritt 7 bin ich mir nicht sicher, da ich nicht weiß, wie oft die Pre-Builds aktualisiert werden, aber schaden kann es nicht.
2. Sources bereinigen (dadurch werden alte Builds gelöscht, vorher sichern):
Code:
make clobber
Code:
repo sync -j 8
Code:
lunch cm_mako-userdebug && brunch mako
Hinweis: "brunch" führt "breakfast" aus, anschließend "mka".
Wer die Zeit für das Kompilieren messen will, kann vor "brunch" den Befehl "time" einsetzen.
Die gebauten Dateien liegen anschließend im Verzeichnis "/home/user/cmod/out/target/product/mako"
Vielleicht hilft es ja jemandem.
PS: Habe auf die wirklich total einfachen Sachen verzichtet, Beispiel: Verzeichniswechsel, Installation von Debian/Ubuntu etc. Der Verweis auf das Debian Wiki ist hoffentlich gestattet!
André
// Edit:
local_manifest.xml is deprecated: Wurde angepasst.
"repo"-Datei aktualisiert
Cache-Hinweis
Breakfast für den Fall der Fälle hinzugefügt
Ein paar Zeilen angepasst.
Wenn es zu Fehlern beim Synchronisieren kommt (und das ist oft), einfach abwarten! Das kommt leider sehr, sehr oft vor!
Zuletzt bearbeitet: