1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

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

Dieses Thema im Forum "Anleitungen für LG Optimus Speed" wurde erstellt von XXMrHyde, 06.07.2012.

  1. XXMrHyde, 06.07.2012 #1
    XXMrHyde

    XXMrHyde Threadstarter Android-Lexikon

    Beiträge:
    1,238
    Erhaltene Danke:
    594
    Registriert seit:
    07.12.2010
    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:

    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:

    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:

    (danke an owain94@XDA-Developers für diesen Tip)


    Suche die Zeile:

    ersetze die Zeile durch:

    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::

    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: 12.08.2012
  2. Einsteinno1, 06.07.2012 #2
    Einsteinno1

    Einsteinno1 Gewerbliches Mitglied

    Beiträge:
    4,989
    Erhaltene Danke:
    2,784
    Registriert seit:
    05.08.2010
    kommt direkt mal auf Custom-Android, aber wow hört sich kompliziert an, ist aber bestimmt easy
     
  3. XXMrHyde, 12.07.2012 #3
    XXMrHyde

    XXMrHyde Threadstarter Android-Lexikon

    Beiträge:
    1,238
    Erhaltene Danke:
    594
    Registriert seit:
    07.12.2010
    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.
     
  4. XXMrHyde, 23.07.2012 #4
    XXMrHyde

    XXMrHyde Threadstarter Android-Lexikon

    Beiträge:
    1,238
    Erhaltene Danke:
    594
    Registriert seit:
    07.12.2010
    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)
     
  5. XXMrHyde, 27.07.2012 #5
    XXMrHyde

    XXMrHyde Threadstarter Android-Lexikon

    Beiträge:
    1,238
    Erhaltene Danke:
    594
    Registriert seit:
    07.12.2010
    Schritt 1 und 2 vertauscht,

    dadurch wird das JavaJDK vor dem AndroidSDK installiert,
    und das AndroidSDK läßt sich auch starten.
     
  6. XXMrHyde, 12.08.2012 #6
    XXMrHyde

    XXMrHyde Threadstarter Android-Lexikon

    Beiträge:
    1,238
    Erhaltene Danke:
    594
    Registriert seit:
    07.12.2010
    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)
     

Diese Seite empfehlen