CyanogenMod installieren: Difference between revisions
Frank Lange (talk | contribs) No edit summary |
Frank Lange (talk | contribs) No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Dieser Artikel soll eine Hilfestellung beim Installieren von CyanogenMod auf einem Android Gerät bieten. Dieser Guide wurde im Rahmen des [http://sarwiki.informatik.hu-berlin.de/W2012-ITS IT-Security Seminars 2012] im Projekt [http://sarwiki.informatik.hu-berlin.de/NFC_unter_Android NFC unter Android] erstellt und bezieht sich speziell auf die Arbeit mit einem [http://de.wikipedia.org/wiki/Nexus_S Google Nexus S]. Auf spezielle, gerätespezifische Aspekte wird an den entsprechenden Stellen hingewiesen. |
|||
Coming soon... |
|||
Grundsätzlich gibt es zwei Wege, wie man ''CyanogenMod'' (CM) auf seinem Android Gerät installieren kann. Entweder man benutzt dafür eine bereits vorkompilierte Version, welche als sog. ''ROM'' zum Download steht, oder man läd sich den kompletten CyanogenMod Source Code herunter und kompiliert sich alles selbst. |
|||
Beide Wege sollen hier beschrieben werden. Der Vorteil des selbst kompilieren ist logischerweise, dass man genau sehen kann, was hinterher im Betriebssystem landet bzw. kann man selbst noch Änderungen vornehmen oder spezielle Patches einbauen. |
|||
== Vorbereitung == |
|||
===== 1. Bootloader unlocken ===== |
|||
Damit überhaupt irgend eine Version von CyanogenMod installiert werden kann, muss das Gerät vorher ''gerootet'' werden. Dafür benötigt man die aktuelle Version des ''Android SDK''s, welches das Tool ''fastboot'' enthält. |
|||
Links: |
|||
* [http://developer.android.com/sdk/index.html Android SDK Download] |
|||
Nach dem Download: |
|||
tar zxf ~/Downloads/android-sdk-XXX-linux.tgz -C ~/ |
|||
cd ~/android-sdk-linux/tools |
|||
./android |
|||
Es öffnet sich der Android SDK Manager - "Android Platform Tools" installieren. |
|||
Danach: |
|||
export PATH=/home/<username>/android-sdk-linux/platform-tools/:$PATH |
|||
Nun das Android Gerät ausschalten und in den Bootloader Booten. Im Falle des Nexus S hält man ''Volume UP'' & ''Power On'' gedrückt bis der Bootloader läd. Als nächstes wird das Gerät per USB Kabel am PC angeschlossen. Nun kann man mittels ''fastboot'' den Bootloader unlocken. |
|||
fastboot oem unlockhttp://www.clockworkmod.com/rommanager |
|||
Nach einer Bestätigung auf dem Gerät rebootet das Gerät. |
|||
===== 2. Recovery Manager installieren ===== |
|||
Als nächstes empfielt es sich ''ClockworkMod Recovery'' auf dem Gerät zu installieren. Dabei wird je nach Gerät eine andere, gerätespezifische Version gebraucht. Da auch von CyanogenMod Smartphonespezifische Versionen passend zum jeweiligen Gerät installiert werden müssen, hat jedes Gerät einen festen Versionsnamen. Im Falle des Nexus S ist dieser ''crespo''. Das spiegelt sich an dieser auch im Download von ClockworkMod Recovery wieder, da in diesem Falle die crespo Version gebraucht wird. Sollte dieser Guide mit einem anderen Smartphone durchlaufen werden, muss an dieser Stelle die passende ClockworkMod Recovery Version ausgewählt werden. |
|||
Links: |
|||
* [http://www.clockworkmod.com/rommanager ClockworkMod Recovery Download] |
|||
Nun startet man beim Nexus S mittels ''Volume Up'' & ''Power On'' wieder in den Bootloader des Geräts und schließt dieses am PC an. Dort kann man dann wie folgt fortfahren: |
|||
fastboot flash recovery /Pfad/zum/RecoveryImage/recovery-clockwork-6.0.1.0-crespo.img |
|||
Damit sollte ClockworkMod Recovery installiert sein. |
|||
== CyanogenMod ROM installieren == |
|||
Im folgenden wird der Fall gezeigt, in dem eine schon fertig kompilierte CyanogenMod ROM installiert werden soll. Dafür benötigt man, nachdem man die vorherigen Schritte erfolgreich durchlaufen hat, nur noch ein solches [http://get.cm/ CM ROM]. |
|||
Dabei muss die für das Gerät passende Version benutzt werden. Im Falle des Nexus S also z.B. <code>cm-10-20121003-NIGHTLY-crespo.zip</code> . Optional können noch zusätzliche [http://wiki.cyanogenmod.com/wiki/Latest_Version#Google_Apps Google Apps] heruntergeladen werden. |
|||
Nun bootet man wieder in den Bootloader des Geräts und sollte dort die Möglichkeit haben, neben einem Reboot auch in den Recovery Modus wechseln zu können, was wieder das gerade installierte ClockworkMod Recovery starten sollte. |
|||
In diesem wählt man nun mittels der Volume Knöpfe und des Power On Buttons folgendes: |
|||
1. Wipe data/factory reset |
|||
2. Wipe cache partition |
|||
3. Mount & Storage |
|||
4. Format sd card |
|||
5. Format system |
|||
6. Format cache |
|||
7. Format data |
|||
8. Formate boot |
|||
9. Mount USB storage |
|||
Nun das Gerät per USB anschließen, es sollte als Mass Storage Device erkannt werden. Nun kopiert man die CM ROM und evtl. noch die Google Apps.zip auf das Gerät. |
|||
Danach wieder auf dem Gerät; |
|||
10. Unmount |
|||
11. ++ Go Back ++ |
|||
12. Install from sd card |
|||
13. Chose zip from sd card |
|||
Nun wählt man zu erst die CM ROM aus und wählt <code>++ Yes, install ++</code>. Danach wiederholt man das Auswählen und Installieren evtl. nochmal für die Google Apps. |
|||
Sollten keine Fehlermeldungen auftreten ist nun CyanogenMod installiert und man kann das Gerät über den entsprechenden Menüeintrag rebooten. |
|||
Sollten allerdings doch Fehlermeldungen auftreten (Error Status 7), so kann man am ROM nichts mehr verändern und muss sich wohl nach einem anderen ROM umschauen. |
|||
== CyanogenMod 10 selbst kompilieren == |
|||
Im folgenden soll gezeigt werden, wie man den Source Code von CyanogenMod 10 (z.Z. aktuellste Version) selbst kompilieren kann. |
|||
'''< ! >''' Dabei ist es essentiell, dass man vorher weiß, für welches Handy man CyanogenMod kompilieren möchte! Im Falle des hier verwendeten Nexus S lautet die Versionsbezeichnung der CM ''crespo''. Überall wo dies später in den Schritten auftaucht, muss diese durch die jeweilige Versionsbezeichnung des aktuell verwendeten Geräts ersetzt werden! |
|||
'''< ! >''' Die folgenden Schritte können '''nur''' mit einem '''64 Bit''' System durchlaufen werden. Auf einem 32Bit System lässt sich CM nicht kompilieren. |
|||
===== 1. Dependencies vorab installieren ===== |
|||
Als erstes sollten die dafür grundlegenden Packages installiert werden. Unter Ubuntu 12.04 64bit sähe das wie folgt aus (als 1 Command): |
|||
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-dev:i386 g++-multilib mingw32 openjdk-6-jdk pngcrush schedtool tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 |
|||
===== 2. Repositories herunterladen ===== |
|||
Im folgenden wird der Source Code von CM 10 heruntergeladen. Dafür benötigen wir als erstes das Tool <code>repo</code>. |
|||
mkdir -p ~/cm10/bin |
|||
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/cm10/bin/repo |
|||
chmod a+x ~/cm10/bin/repo |
|||
Nun können wir im Zielordner initialisieren: |
|||
mkdir -p ~/cm10/android/system |
|||
cd ~/cm10/android/system |
|||
repo init -u git://github.com/CyanogenMod/android.git -b jellybean |
|||
Sollte repo nicht als command gefunden werden, so muss noch folgendes zur PATH Variable hinzugefügt und der command wiederholt werden: |
|||
export PATH=/home/<username>/cm10/bin:$PATH |
|||
repo init -u git://github.com/CyanogenMod/android.git -b jellybean |
|||
Nun können die Quellen heruntergeladen werden. Da es sich hierbei um mehrere '''GByte''' an Daten handelt, kann dies je nach Internetanbindung schonmal ein bisschen dauern: |
|||
repo sync |
|||
Ist der Download abgeschlossen können Gerätespezifische Daten heruntergeladen werden. Hier muss der Gerätename für das jeweilig verwendete Zielgerät benutzt werden. In Falle des Nexus S also ''crespo'': |
|||
source build/envsetup.sh && breakfast crespo |
|||
Auch hier kann es wieder eine gewisse Zeit dauern bis alles heruntergeladen wurde. |
|||
Als nächstes brauch eine zum Glück schon vorgefertigte Toolchain: |
|||
~/cm10/android/system/vendor/cm/get-prebuilds |
|||
===== 3. Quellen kompilieren ===== |
|||
Jetzt sollten alle nötigen Quellen beisammen sein und man kann anfangen zu kompilieren. |
|||
cd ~/cm10/android/system |
|||
source build/envsetup.sh && brunch crespo |
|||
Dies sollte wieder einige Zeit in Form von mehreren Stunden in Anspruch nehmen, wobei mitunter immer noch Dependency Fehler auftreten können, welche dann natürlich manuell behoben werden müssen. Musste man noch etwas nach installieren, so kann man dann wieder mit letzten Befehl <code>source build ...</code> den Kompiliervorgang starten. |
|||
===== 4. Ergebnis ===== |
|||
Nach dem fehlerfreien Kompilieren befindet sich unter |
|||
~/android/system/out/target/product/crepso/cm-10-XXXXXXXX-UNOFFICIAL-crespo.zip |
|||
das fertige ROM, welches nun nach [[#CyanogenMod ROM installieren|obigen Vorgehen]] auf dem Gerät installiert werden kann. |
Latest revision as of 18:06, 3 October 2012
Dieser Artikel soll eine Hilfestellung beim Installieren von CyanogenMod auf einem Android Gerät bieten. Dieser Guide wurde im Rahmen des IT-Security Seminars 2012 im Projekt NFC unter Android erstellt und bezieht sich speziell auf die Arbeit mit einem Google Nexus S. Auf spezielle, gerätespezifische Aspekte wird an den entsprechenden Stellen hingewiesen.
Grundsätzlich gibt es zwei Wege, wie man CyanogenMod (CM) auf seinem Android Gerät installieren kann. Entweder man benutzt dafür eine bereits vorkompilierte Version, welche als sog. ROM zum Download steht, oder man läd sich den kompletten CyanogenMod Source Code herunter und kompiliert sich alles selbst. Beide Wege sollen hier beschrieben werden. Der Vorteil des selbst kompilieren ist logischerweise, dass man genau sehen kann, was hinterher im Betriebssystem landet bzw. kann man selbst noch Änderungen vornehmen oder spezielle Patches einbauen.
Vorbereitung
1. Bootloader unlocken
Damit überhaupt irgend eine Version von CyanogenMod installiert werden kann, muss das Gerät vorher gerootet werden. Dafür benötigt man die aktuelle Version des Android SDKs, welches das Tool fastboot enthält.
Links:
Nach dem Download:
tar zxf ~/Downloads/android-sdk-XXX-linux.tgz -C ~/ cd ~/android-sdk-linux/tools ./android
Es öffnet sich der Android SDK Manager - "Android Platform Tools" installieren.
Danach:
export PATH=/home/<username>/android-sdk-linux/platform-tools/:$PATH
Nun das Android Gerät ausschalten und in den Bootloader Booten. Im Falle des Nexus S hält man Volume UP & Power On gedrückt bis der Bootloader läd. Als nächstes wird das Gerät per USB Kabel am PC angeschlossen. Nun kann man mittels fastboot den Bootloader unlocken.
fastboot oem unlockhttp://www.clockworkmod.com/rommanager
Nach einer Bestätigung auf dem Gerät rebootet das Gerät.
2. Recovery Manager installieren
Als nächstes empfielt es sich ClockworkMod Recovery auf dem Gerät zu installieren. Dabei wird je nach Gerät eine andere, gerätespezifische Version gebraucht. Da auch von CyanogenMod Smartphonespezifische Versionen passend zum jeweiligen Gerät installiert werden müssen, hat jedes Gerät einen festen Versionsnamen. Im Falle des Nexus S ist dieser crespo. Das spiegelt sich an dieser auch im Download von ClockworkMod Recovery wieder, da in diesem Falle die crespo Version gebraucht wird. Sollte dieser Guide mit einem anderen Smartphone durchlaufen werden, muss an dieser Stelle die passende ClockworkMod Recovery Version ausgewählt werden.
Links:
Nun startet man beim Nexus S mittels Volume Up & Power On wieder in den Bootloader des Geräts und schließt dieses am PC an. Dort kann man dann wie folgt fortfahren:
fastboot flash recovery /Pfad/zum/RecoveryImage/recovery-clockwork-6.0.1.0-crespo.img
Damit sollte ClockworkMod Recovery installiert sein.
CyanogenMod ROM installieren
Im folgenden wird der Fall gezeigt, in dem eine schon fertig kompilierte CyanogenMod ROM installiert werden soll. Dafür benötigt man, nachdem man die vorherigen Schritte erfolgreich durchlaufen hat, nur noch ein solches CM ROM.
Dabei muss die für das Gerät passende Version benutzt werden. Im Falle des Nexus S also z.B. cm-10-20121003-NIGHTLY-crespo.zip
. Optional können noch zusätzliche Google Apps heruntergeladen werden.
Nun bootet man wieder in den Bootloader des Geräts und sollte dort die Möglichkeit haben, neben einem Reboot auch in den Recovery Modus wechseln zu können, was wieder das gerade installierte ClockworkMod Recovery starten sollte.
In diesem wählt man nun mittels der Volume Knöpfe und des Power On Buttons folgendes:
1. Wipe data/factory reset 2. Wipe cache partition 3. Mount & Storage 4. Format sd card 5. Format system 6. Format cache 7. Format data 8. Formate boot 9. Mount USB storage
Nun das Gerät per USB anschließen, es sollte als Mass Storage Device erkannt werden. Nun kopiert man die CM ROM und evtl. noch die Google Apps.zip auf das Gerät. Danach wieder auf dem Gerät;
10. Unmount 11. ++ Go Back ++ 12. Install from sd card 13. Chose zip from sd card
Nun wählt man zu erst die CM ROM aus und wählt ++ Yes, install ++
. Danach wiederholt man das Auswählen und Installieren evtl. nochmal für die Google Apps.
Sollten keine Fehlermeldungen auftreten ist nun CyanogenMod installiert und man kann das Gerät über den entsprechenden Menüeintrag rebooten.
Sollten allerdings doch Fehlermeldungen auftreten (Error Status 7), so kann man am ROM nichts mehr verändern und muss sich wohl nach einem anderen ROM umschauen.
CyanogenMod 10 selbst kompilieren
Im folgenden soll gezeigt werden, wie man den Source Code von CyanogenMod 10 (z.Z. aktuellste Version) selbst kompilieren kann.
< ! > Dabei ist es essentiell, dass man vorher weiß, für welches Handy man CyanogenMod kompilieren möchte! Im Falle des hier verwendeten Nexus S lautet die Versionsbezeichnung der CM crespo. Überall wo dies später in den Schritten auftaucht, muss diese durch die jeweilige Versionsbezeichnung des aktuell verwendeten Geräts ersetzt werden!
< ! > Die folgenden Schritte können nur mit einem 64 Bit System durchlaufen werden. Auf einem 32Bit System lässt sich CM nicht kompilieren.
1. Dependencies vorab installieren
Als erstes sollten die dafür grundlegenden Packages installiert werden. Unter Ubuntu 12.04 64bit sähe das wie folgt aus (als 1 Command):
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-dev:i386 g++-multilib mingw32 openjdk-6-jdk pngcrush schedtool tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
2. Repositories herunterladen
Im folgenden wird der Source Code von CM 10 heruntergeladen. Dafür benötigen wir als erstes das Tool repo
.
mkdir -p ~/cm10/bin curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/cm10/bin/repo chmod a+x ~/cm10/bin/repo
Nun können wir im Zielordner initialisieren:
mkdir -p ~/cm10/android/system cd ~/cm10/android/system repo init -u git://github.com/CyanogenMod/android.git -b jellybean
Sollte repo nicht als command gefunden werden, so muss noch folgendes zur PATH Variable hinzugefügt und der command wiederholt werden:
export PATH=/home/<username>/cm10/bin:$PATH repo init -u git://github.com/CyanogenMod/android.git -b jellybean
Nun können die Quellen heruntergeladen werden. Da es sich hierbei um mehrere GByte an Daten handelt, kann dies je nach Internetanbindung schonmal ein bisschen dauern:
repo sync
Ist der Download abgeschlossen können Gerätespezifische Daten heruntergeladen werden. Hier muss der Gerätename für das jeweilig verwendete Zielgerät benutzt werden. In Falle des Nexus S also crespo:
source build/envsetup.sh && breakfast crespo
Auch hier kann es wieder eine gewisse Zeit dauern bis alles heruntergeladen wurde.
Als nächstes brauch eine zum Glück schon vorgefertigte Toolchain:
~/cm10/android/system/vendor/cm/get-prebuilds
3. Quellen kompilieren
Jetzt sollten alle nötigen Quellen beisammen sein und man kann anfangen zu kompilieren.
cd ~/cm10/android/system source build/envsetup.sh && brunch crespo
Dies sollte wieder einige Zeit in Form von mehreren Stunden in Anspruch nehmen, wobei mitunter immer noch Dependency Fehler auftreten können, welche dann natürlich manuell behoben werden müssen. Musste man noch etwas nach installieren, so kann man dann wieder mit letzten Befehl source build ...
den Kompiliervorgang starten.
4. Ergebnis
Nach dem fehlerfreien Kompilieren befindet sich unter
~/android/system/out/target/product/crepso/cm-10-XXXXXXXX-UNOFFICIAL-crespo.zip
das fertige ROM, welches nun nach obigen Vorgehen auf dem Gerät installiert werden kann.