[How-To]CM9 aus den Sourcen für das Speed selber kompilieren (Schritt für Schritt)

  • 5 Antworten
  • Letztes Antwortdatum
X

XXMrHyde

Dauer-User
605
CM9 aus den Sourcen für das Speed selber kompilieren (Schritt für Schritt)

Dieser Guide ist eine Schritt für Schritt Anleitung, um CM9 aus den offiziellen CM-Sourcen für das Speed selber zu kompilieren.

Der Guide basiert auf:

aMpeX`s [TUTORIAL] The Step-By-Step guide to build Cyanogenmod7 for the LG Optimus 2X

loganmc10`s [GUIDE] Building CM9 for G2X

Ich habe nur Anpassungen für das Speed, bzw. CM9 gemacht, und einen Fix für das Problem mit der Unbekannten Baseband hinzugefügt


Gebraucht wird:

- ein installiertes Linux, (Ich benutze Ubuntu 11.10, 64 Bit)
- ein schneller PC oder Notebook ist empfehlenswert
- genauso eine schnelle Internet-Verbindung, (es müssen mehrere GB runtergeladen werden)


Es gibt 10 Schritte, (8 für das eigentliche Kompilieren, und 2 Optionalen:

1. Build-Pakete Installieren
2. Android-SDK installieren und einrichten
3. Path anpassen
4. Verzeichnisse erstellen
5. Repository Installieren und CM9 Source-Code runterladen
6. Fix für die nicht funktionierende Kamera
6a. Fix für die bekannten Probleme
7. Unofficial CM9 Build kompilieren
8. Fix für unbekannte Baseband
9. Erweitertes und komfortables kompilieren
10. Optional Änderungen


Einige Infos vor dem Start:

- lies bitte den kompletten Guide aufmerksam durch, (evtl. mehrere Male, bis alle Schritte richtig verstanden sind)
- wenn Du Dich genau an den Guide hältst, sollten keine Probleme auftauchen, und das Ergebnis ist ein funktionierender Unofficial CM9-Build
- logge Dich in Linux nicht als root ein


Jetzt gehts los:


1. Build-Pakete Installieren

für 32 bit und 64 bit:

Terminal:

tippe:

Code:
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 openjdk-6-jdk pngcrush schedtool
Achtung:
hierbei wird das Open-JDK anstatt dem Sun-JDK installiert,
(Sun-JDK ist nicht mehr offiziell für Ubuntu verfügbar)
das führt am Anfag des Kompilierens zu einer Fehlermeldung über ein falsches JDK,
das kann ignoriert werden, es funktioniert trotzdem.

Wenn Du das Sun-JDK anstatt dem Open-JDK installieren möchtest:

Anstatt dem Code oben:

Terminal:

tippe

Code:
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 pngcrush schedtool
der User tonyp@XDA-Developers ein Tutorial erstellt.

Der original Post ist hier zu finden.

Terminal:

tippe:

Code:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
Code:
sudo apt-get update
Code:
sudo apt-get install sun-java6-jdk
leider funktioniert bei mir die oben genannte Methode nicht (Ubuntu 11.10 64 Bit)

so hat es aber auch bei mir funktioniert:

Terminal:

Code:
sudo add-apt-repository ppa:ferramroberto/java
Code:
sudo apt-get update
Code:
sudo apt-get install sun-java6-jdk sun-java6-plugin
Code:
sudo update-alternatives --config java
(Achtung: Du mußt nach dem letzten Befehl auf die "Tab" Taste drücken um den OK-Button drücken zu können ;) )

für ein 64 Bit Ubuntu zusätzlich:

Terminal:

tippe:

Code:
sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.4-multilib g++-4.4-multilib



2. Android-SDK installieren und einrichten

Lade dir das neuste Android-SDK von hier (Linux (i386) ) runter,
entpacke das Zip-Paket in ein beliebiges Verzeichnis

Terminal:

navigiere zum "tools-folder" des Android-SDK und tippe:

Code:
./android
nun startet der AVD-Manager,
wähle "repository", wähle die neuste "repository", und klick "install packages"[/code]


3. Path anpassen


gehe zu Deinen Home-Verzeichnis, und drücke STRG + H um versteckte Dateien anzuzeigen,
öffne .bashrc
und füge folgendes hinzu:

Code:
export PATH="/home/<dein Benutzername>/<path zum Android SDK >/platform-tools/:${PATH}"
export PATH="/home/<dein Benutzername>/bin/:${PATH}"
zum übernehmen mußt Du Dich aus- und wieder einloggen.

jetzt kannst Du überprüfen ob alles richtig gemacht wurde,

Terminal:

tippe:

Code:
adb devices
danach sollte es ungefähr so aussehen:

xxmrhyde@AwesomeMachine:~$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
4. Verzeichnisse erstellen

Terminal:

tippe:

Code:
mkdir -p ~/bin
Code:
mkdir -p ~/android/system
5. Repository Installieren und CM9 Source-Code runterladen

Repository Installieren

Terminal:

tippe:

Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
Code:
chmod a+x ~/bin/repo
Code:
cd ~/android/system/
Code:
repo init -u git://github.com/CyanogenMod/android.git -b ics
gebe Name und Email-Adress ein, und wähle ob Du Farben möchtest


CM9 Source-Code runterladen:

Terminal:

tippe:

Code:
cd ~/android/system/
Code:
repo sync
abhängig von Deiner Internet-Verbindung kann das Runterladen mehrere Stunden dauern

drücke STRG + H

gehe zu :

/android/system/.repo/

erstelle die Datei:

local_manifest.xml

füge folgendes in die local_manifest.xml ein:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project path="device/lge/p990" name="CyanogenMod/android_device_lge_p990" />
  <project path="device/lge/star-common" name="CyanogenMod/android_device_lge_star-common" />
  <project path="vendor/lge" name="Owain94/proprietary_vendor_lge.git" remote="github" />
</manifest>

Terminal:

tippe:

Code:
cd ~/android/system/
Code:
repo sync


6. Fix für die nicht funktionierende Kamera

lade dieses Zip-Paket herrunter MediaFire SolidFiles.
(ich habe diesen Patch nicht erstellt, und weiss nicht wer ihn erstellt hat, wenn es Dein Patch ist schreib mir eine PM, und ich werde Dich als Author nennen.)
Entpacke das Zip-Paket in ein Verzeichnis Deiner Wahl.

Terminal:

tippe:

Code:
cd ~/android/system
Code:
patch -p1 <
Achtung: hinter "<" muß sich eine Leerstelle befinden!
ziehe die 1. …..diff Datei vom entpackten Archiv in das Terminal-Fenster , der Pfad wird automatisch hinzu gefügt,
führe den erstellten Befehl aus
das selbe mit den 4 anderen Dateien

6a. Fix für die bekannten Probleme

für nicht funktionierendes Kompilieren:

Downloade dieses Archiv,

Terminal:

tippe:
Code:
cd ~/android/system
Code:
rm -rf bootable/recovery; tar xvzf
Achtung: hinter "xvzf" muß sich eine Leerstelle befinden!
ziehe das bootable_recovery.tar.gz Archiv in das Terminal-Fenster , der Pfad wird automatisch hinzu gefügt,
führe den erstellten Befehl aus

Fix für die mobile Datenverbindung:

kopiere diese Datei nach /android/system/system/core/init/ (überschreibe die vorhandene Datei),


7. Unofficial CM9 Build kompilieren

Terminal:

tippe:

Code:
~/android/system/vendor/cm/get-prebuilts
Code:
cd ~/android/system/
Code:
. build/envsetup.sh
Code:
brunch p990
abhängig von der Geschwindigkeit Deines PC oder Notebooks kann das Kompilieren zwischen 30 Minuten und mehreren Stunden dauern.

Dein Rom-Zip-Paket findest Du hier:

/android/system/out/target/product/p990/
8. Fix für unbekannte Baseband

öffne Dein Rom-Zip-Paket und entpacke /system/build.prop
(nicht den Archivmanager schließen)

öffne build.prop:

lösche die Zeile:

ro.modversion=9-...-UNOFFICIAL-p990
(danke an owain94@XDA-Developers für diesen Tip)


Suche die Zeile:

ro.cm.version=9-...-UNOFFICIAL-p990
ersetze die Zeile durch:

ro.cm.version=9.0.0-RC1-p990-UNOFFICIAL
speicher die build.prop

ziehe die geänderte build.prop in das Archivemanager-Fenster (/system, überschreibe die vorhandene Datei)

jetzt kannst Du dein Unofficial CM9 Build installieren


------------------------------------------------------------------------------------------------------------------------------------------------------------

9. Erweitertes und komfortableres kompilieren:

Dieser Schritt ist optional, und soll ein besseres und komfortableres kompilieren ermöglichen
(alle Tips kommen von owain94, Danke)

Dieser Schritt ersetzt Schritt 7!


Terminal:

tippe:

Code:
cd ~/android/system && clear && cd vendor/cm && ./get-prebuilts && cd ../../ && clear && . build/envsetup.sh && brunch p990 2> warn.log
dieser Befehl lädt die cm-prebuilds runter,
richtet das" build environment" ein,
startet das kompilieren,
exportiert alle Warnungen und Fehler in eine Text-Datei
und löscht den Inhalt des Terminal-Fensters.

Öffne ein neues Terminal-Fenster

tippe:

Code:
cd ~/android/system && clear && tail -f warn.log
dieser Befehl löscht den Inhalt des Terminal-Fensters,
zeigt alle Warnungen und Fehler in diesem Terminal-Fenster,
und behält den Focus,

das 1. Terminal-Fenster zeigt nur den Kompilierungs-Prozess,
so ist es einfacher mögliche Fehler zu finden.

Wenn Du 2 Monitore an Dein PC or Notebook angeschlossen hast,
kannst Du auch das 2. Terminal-Fenster auf den 2. Monitor ziehen.

Dein Rom-Zip-Paket findest Du ebenfalls hier::

/android/system/out/target/product/p990/
10. Optional Änderungen:

Fix für torch.apk und torch power-widget:

öffne:

/android/system/packages/apps/Torch/res/values/config.xml

ändere oder füge folgende Zeile hinzu:
Code:
<bool name="useCameraInterface">true</bool>
öffne:

/android/system/packages/apps/Settings/res/values

ändere oder füge folgende Zeile hinzu:
Code:
<bool name="has_led_flash">true</bool>
Credits:

aMpeX, loganmc10, pastime1971, owain94, tonyp (tonydl), temasek
 
Zuletzt bearbeitet:
kommt direkt mal auf Custom-Android, aber wow hört sich kompliziert an, ist aber bestimmt easy
 
Leider ist die proprietary_vendor_lge Repository von koush by github nicht mehr verfügbar,
aber owain96 hat freundlicherweise die Repository zur Verfügung gestellt (Danke an owain96)

ich habe den Post #1 geändert,
damit das kompilieren wieder funktioniert,
muß die local_manifest.xml wie in Post #1 beschrieben geändert werden.
 
Der Guide ist aktuallisiert,

Changelog:

- fix für nicht funktionierendes Kompilieren hinzugefügt
- fix für die mobile Datenverbindung hinzugefügt
- eine zusätzliche Version das Sun-JDK zu installieren hinzugefügt
- einen neuen Schritt "Optionale Änderungen", Fix für torch.apk und torch power-widget hinzugefügt, (wieder mal ein großes Danke an owain94)
 
Schritt 1 und 2 vertauscht,

dadurch wird das JavaJDK vor dem AndroidSDK installiert,
und das AndroidSDK läßt sich auch starten.
 
der Guide ist aktuallisiert,

- "-j16" bei repo sync entfernt, (um Probleme mit dem Syncen zu beheben),
- die local-manifest.xml wird nach dem repo sync hinzugefügt, (um Probleme mit dem Syncen zu beheben),
- nach dem hinzufügen der local-manifest.xml, ein erneutes repo sync hinzugefügt, (um den Inhalt der local-manifest.xml ebenfalls zu syncen)
 

Ähnliche Themen

F
Antworten
0
Aufrufe
3.678
flopower1996
F
xpr0nx
Antworten
368
Aufrufe
102.729
timmihill
T
luk
  • Angepinnt
  • luk
2 3
Antworten
46
Aufrufe
35.812
Lindenbaum
L
Zurück
Oben Unten