Provided by Catherall
== Boot CyanogenMod 7.1 from Recovery ==
Your phone may be in a state where Android cannot start any more, even restoring a system backup might be impossible. Then it would be great to have a handy way to boot a full CyanogenMod system anyway.
With the simple to follow commands in this guide you can boot CyanogenMod 7.1 from recovery.
What you need:
- Custom recovery like one of the following:
--- ClockworkMod Recovery version 220.127.116.11
--- 4EXT Recovery TOUCH v18.104.22.168 RC3
--- Other recovery with similar kernel might work
- SD card (~ 800MB free)
- CyanogenMod 7.1 system and boot files on SD card
All needed files are contained in the zip package:
Boot_from_SD_v1.0.1.zip (md5: d8d3332dda267fd3f6f03ba7023c6d72)
Extract all files from the downloaded zip file to your SD card.
The resulting directory structure looks like this:
SD card --+-- update.zip | '-- BootManager --+-- README.txt | '-- rom8 --+-- boot.img +-- data.img +-- log.img +-- name +-- system.img '-- .android_secure
Boot into Recovery:
Shutdown your phone completely and remove battery for about 3 seconds.
Boot your phone into HBOOT by pushing <Volume down> and <Power> at the same time for about 5 seconds.
In the HBOOT" menu use <Power down> to select Recovery and engage with <Power>.
You are in Recovery now.
Start Android system from Recovery:
Use <Volume down> and <Volume up> to select "apply update from sd card" and engage with <Trackpad> button. Confirm "install" by selecting "Yes - Install .." and engage with trackpad.
Installing update.zip only starts the Android system from the SD card, nothing will be installed on your phone!
When CyanogenMod is starting the CyanogenMod logo appears.
If you have a black screen then push <Power> once or twice until the screen is visible.
The default language of the system is "German". Select another language using "menu" button / "Einstellungen" / "Sprache & Tastatur" / "Sprache auswählen" - change to your prefered language and hit the home button.
Congratulations, you have a full working CyanogenMod 7.1, rooted, with terminal emulator and working network.
For installing new applications:
* Put the according APK file on the SD card
* Install the app by opening the APK file with the installed app "File Manager"
== Technical Remarks and Background Information ==
- update.zip: Flashable "install" file that can be used in custom recoveries. It contains the kernel boot files and uses chroot to initialze the Android system by executing /init from the boot files
- system.img, data.img, log.img, cache.img: Loop files of system, data, devlog and cache partition of CyanogenMod 7.1
The script startsystem.sh mounts the Android partitions from SD card and starts up Android using the following command:
chroot /tmp/boot.img-ramdisk /init
This starts the android system (using init) with the new root on the path /tmp/boot.img-ramdisk.
Side effects of using chroot:
- The phone appears as "recovery" when using "adb devices".
- Using adb shell connects to /bin/sh of recovery.
- You cannot use adb to install apps. As a workaround put the apk file on the SD card and install it simply by opening it with the app "File Manager"
- ClockworkMod Recovery 22.214.171.124 (kernel 126.96.36.199-cyanogenmod-g9e5cdf1)
- ClockworkMod Recovery 188.8.131.52 (kernel 184.108.40.206-cyanogenmod-g4f4ee2e)
- 4EXT Recovery TOUCH v220.127.116.11 RC3 (kernel 18.104.22.168-cyanogenmod-g4dc0bbe)
- 4EXT Recovery v2.2.7 RC5 (kernel 22.214.171.124-cyanogenmod-g4dc0bbe)
You can find your recovery kernel version by booting into recovery and using adb with the following command:
adb shell uname -r
== Feedback and Questions ==
For feedback and questions visit Freenode IRC channel #G2ROOT.
You can use the web interface at http://webchat.freenode.net/ .
After login change channel using "/join #G2ROOT".
When there is real need for the linked zip package and this guide then both will be improved.
Packages for other phones can be provided. When you have another phone then get in touch with me.
== Credits ==
Guhl (inital idea and support)
#G2ROOT freenode IRC channel ("These guys are awesome!")
Inioch (testing on a HTC Desire Z phone with a "fried" / read-only emmc)
karsten95 and coldsun15 (testing)
== Thanks ==
During my work I was supported by
#virtuousrom freenode IRC channel ("Excellent!")
Many other people, you know who you are!
P.S. If this guide does not work for you then follow the advice of Ego_UK:
"Jump three times, then turn around and say abracadabra. Maybe this helps"