After an OTA upgrade from 4.4 to 4.4.2 SuperSU told me that it can’t root my device and I should consult internet. My recovery was overwritten by the update. So I reflashed my openrecovery image I used in my last post in this category and downloaded SuperSU from http://download.chainfire.eu/351/ and laid it to my sdcard. After a reboot into the custom bootloader I installed the zip file from flash and rebooted into my rooted android 4.4.2.
First of all I want to say that I take no responsibility if you brick your phone by following steps from my blog.
The whole process seems to be very familiar if you’ve rooted a nexus device before. With CWM my phone didn’t start anymore so I tried openrecovery which worked like a charme:
- Download openrecovery from http://www.androidfilehost.com/?fid=23212708291678610
- If you haven’t already done that download and install the Android SDK tools for your system from http://developer.android.com/sdk/index.html. You’ll need to have the Android Platform tools installed
- (Windows only) You may need device drivers for the Nexus 5 under windows – but as I only have ubuntu machines I stick to linux 😉
- (optional) To be able to restore your phone if something goes wrong it is also advisable to download the factory image from google from https://developers.google.com/android/nexus/images#hammerheadkrt16m. There are lots of tutorials how to flash this so I’ll also leave this to you.
- Copy the downloaded openrecovery-twrp-18.104.22.168-hammerhead.img to your android-sdk-linux/platform-tools folder and cd to that folder
- Change to superuser with
- Reboot your phone to recovery mode (shut down the phone and hold volume down and power button to turn it on again)
- Check that your device is recogniced with
- Unlock the bootloader (This will erase all your data!!!)
./fastboot oem unlock ./fastboot reboot-bootloader sleep 5
- Flash the recovery image with
./fastboot flash recovery openrecovery-twrp-22.214.171.124-hammerhead.img ./fastboot reboot-bootloader sleep 5
- Go to recovery mode (change selection on phone with vol +/- and select with power button)
- In recovery mode choose to reboot the phone from within recovery mode. The application will ask if you want to root the phone. Say yes 😉
- The phone boots after that. When finished start the SuperSU application which tells you that you haven’t finished yet. Choose TWRP when asked how to finish installation. The phone will reboot again and you are done.
Feel free to post questions. For me it worked exactly as described here.
I recently upgraded my Samsung Nexus S to Cyanogenmod 10.1.2 as there won’t be factory images from google anymore. The phone has to be unlocked as described in previous posts in this category.
First I downloaded the following files:
Then I copied the two zip-file to the sdcard of the phone and bootet into the bootloader (Hold louder and on/off button to power on) to flash the recovery image from the connected notebook (you may need superuser rights on your local pc):
./fastboot flash recovery recovery-clockwork-126.96.36.199-crespo.img
After a reboot again into the bootloader I first made a factory reset, mounted the sdcard and flashed the two downloaded zip-archives beginning with cyanogenmod (the order is important). Then I rebootet my phone and it started nicely into my new cyanogenmod.
Notice! I’m not responsible if you brick your phone while following my instructions.
OTA asked me to upgrade to 4.1.1 Jelly Bean today but as in all previous attempts to upgrade via OTA it failed again. So here is the manual way to upgrade from 4.0.4 to 4.1.1. How to get there can be found in previous posts in this blog. Of course you follow my steps on your own risk.
I first downloaded all files I needed
- On http://forum.xda-developers.com/showthread.php?t=1736645 I found the link to the OTA package from google for my device (I9023).
Then I rebooted my phone into bootloader and flashed the recovery image to the actual version via
sudo ./fastboot flash recovery ~/recovery-clockwork-188.8.131.52-crespo.img
Then i directly started recovery mode, mounted the sdcard and installed the OTA package followed by the SuperUser package. Then I mounted /system and moved the install recovery script as usual by
./adb shell cd /system/etc rm install-recovery.sh.old mv install-recovery.sh install-recovery.sh.old
Then just reboot the phone into the new 4.1.1 Jelly Bean which updates your apps at first boot and all your config and apps should stay in place and the recovery is still working after a boot of the system and is rooted. So my phone is working as expected and the upgrade took me about 30min including searching for the needed files.
I already described my full rom upgrade to 4.0.3 in a former post https://blog.coffeebeans.at/?p=208. This time I chose not to loose my apps+configuration and downloaded an official 4.0.3 to 4.0.4 patch from google as the OTA-update failed without an error message and the hourly message that there is an update available was a bit annoying.
If you follow my steps you do this on your own risk and I’m not responsible if you brick your phone or loose warranty.
I found an officially signed update package under http://forum.xda-developers.com/showthread.php?t=1445635 (Android 4.0.3 (Build IML74K/XXKI1 Radio/KL1 Bootloader 4.0.3 -> 4.0.4) and copied it over to my sdcard. I also copied the SuperUser-zip I used the last time. Then I rebooted into bootloader and started recovery mode. There I just installed the downloaded patch and the superuser package in this order.
Then I checked that there is no install-recovery.sh in /system/etc. I had to rename it again, as I did the last time. Then i booted my new 4.0.4 without any problems. Also the recovery mode is still working after a reboot.
There are lots of forums explaining how to upgrade or root a Nexus S but it took me hours to find all needed parts and get it running with ICS and rooting it afterwards. So I decided to summarize my experience – of course you follow my steps on your own risk and I’m not responsible for bricked phones or lost warranties:
First I was waiting for an OTA update but nothing happened and after looking for a way to manually do it I found some links to Google full ROMs under http://forum.xda-developers.com/showthread.php?t=1445635 and decided to try the update. I chose the “Android 4.0.3/IML74K/XXKI1 Radio/KL1 Bootloader” full rom and downloaded the package.
With this image on the sdcard of my phone, copied over USB, I rebooted my phone into the bootloader by holding power and up button to power it on. As I’ve already unlocked (fastboot oem unlock) my bootloader before I skipped this step now and there are dozens of howtos for this – but mentioned that most of these forums told me unlocking the bootloader voids warranty. In the menu I chose recovery, mounted the sd card and installed the downloaded package. After a reboot i had ICS 🙂
But trying to get back into recovery I had to find out that the upgrade broke my recovery image. So I looked for the latest recovery image for crespo under http://download.clockworkmod.com/recoveries/ which was recovery-clockwork-184.108.40.206-crespo.img. I downloaded this file and flashed it with fastboot which only works if you are in the bootloader. I copied the image to my plattform-tools folder of the Android-SDK before
# verify that phone is available ./fastboot devices ... # flash new recovery ./fastboot flash recovery recovery-clockwork-220.127.116.11-crespo.img
Now it was possible to get back into recovery. But only till next boot of the phone. There is a script installing the broken image on every boot. This can be stopped by renaming install-recovery.sh in /system/etc of the phone. I mounted /system in the recovery menu then run these commands:
./adb shell cd /system/etc mv install-recovery.sh install-recovery.sh.old
Now the phone was running with stock ROM without root access.
I downloaded Superuser-3.0.7-efghi-signed.zip from http://androidsu.com/superuser/. There are different versions but only one for ICS. Icopied this file into the plattform-tools folder of my SDK, booted the phone into recovery, mounted the sdcard and then run this command to copy the file to the phone:
# copy the file to phone ./adb push Superuser-3.0.7-efghi-signed.zip /sdcard
Then I installed the file over the recovery menu and rebooted it. Now I have a rooted Nexus S with Android 4.0.3 and custom recovery.
I shouldn’t have booted ICS after every single step to see if it is still working and to appreciate my work. All steps should be combinable by copying all needed files mentioned above to the sdcard (no matter how) and then doing the following – every step is explained above:
- Boot into bootloader and choose recovery in the menu
- Install new ROM
- Reboot the phone into bootloader or get back to bootloader in another way
- Flash recovery
- Choose recovery in the menu
- Rename install-recovery.sh
- Install Superuser package
- Reboot the phone normally