• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

[Verizon] Galaxy Nexus root / un-root without unlocking bootloader

Damn it seems I'm the only one who doesn't get it :)

I unlocked my phone (a yakjuxw on 4.0.2) with your script and it worked fine. Now I just don't get it how I can update it to 4.0.4

From what I understand I could place the update in the cache folder using the ES file explorer and the launch the file. But I don't know anything about code so it's really hard to make sense from yout discussions :)

I also tried to just copy the update file on my phone and launch it via cmd but I can't access the Folder of my phone.

Am I just miles away from a solution or can anyone explain to me in a simple way what to do? Would be awesome


And please don't tell me this things only apply for the Verizon Version

Welcome to the AndroidForums, laz0rbrain :).

I would normally advise one to first further protect themselves by flashing a custom recovery and making a Nandroid backup (and saving it off-site) before doing this (you still can, but that's even more discussion--which I'm happy to help provide, but you'll need to do even more reading, etc.).

Making a Nandroid backup would require that you temporarily flash ClockworkMod custom recovery and then re-flash the stock recovery so that the OTA can install. Don't know if you have yet familiarized yourself with the above, but its a very good thing to know how to do if you have gained root privileges and wish to save yourself some grief in the future.

At the very least, you should always be able to still unlock your bootloader and re-flash back to factory/stock should things get wonky--you'd lose your data, setup, etc. in that event.

Here is a outline of what you'll need to simply install the 4.0.4 OTA:

- download, install, and run OTA Rootkeeper (free in the Market) to save (protect) root so that you'l be rooted after you manually install an OTA's update.zip file

- use your phone's browser to download the OTA's update.zip file to your /sdcard (it'll probably end-up in the download or downloads folder)

- verify the MD5 checksum of the update.zip file against the one that was published (I don't remember where the 4.0.4 is being downloaded from); use my AFV (Android File Verifier) app or Astro File Manager to do this

- use ES File Explorer to copy and paste the update.zip file into the /cache folder (you'll probably have to enable Root Explorer-type capability in here by going to Menu -> Settings -> Root Explorer (option checked))

- the remaining instructions come from diverbelow's post #13 back on the first page of this thread:

* Power off phone
* Press and hold the volume up/down buttons then press the power button
* Arrow to Recovery
* Phone will reboot in to recovery mode
* With Android laying down, press and hold the power button and volume up (possible volume up couple of times)
* apply update from /cache
* reboot

Cheers and good luck!
 
  • Like
Reactions: laz0rbrain
Upvote 0
Thanks for the fast response :)

So i tried installing the new update from the recovery mode but it says E-verification failed
So I guess that has something to do with the MD5 checksum? I did check my update file and verified it against the one that was published and the result was different, so I downloaded another file from here Factory Images for Nexus Devices - Google Support for Nexus Phones and Flagship Devices - Google Code

and since that is from what I understand the original, it should work. Buuuut I guess I got lost again somewhere :)
just to be sure, I downloaded the file, extracted it and put only the image-yakju-imm76d.zip file in the cache folder?

Big Thanks for helping me out man


And one other thing. Will I get OTA updates in the future when I update to 4.0.4?
 
Upvote 0
Thanks for the fast response :)

So i tried installing the new update from the recovery mode but it says E-verification failed
So I guess that has something to do with the MD5 checksum? I did check my update file and verified it against the one that was published and the result was different, so I downloaded another file from here Factory Images for Nexus Devices - Google Support for Nexus Phones and Flagship Devices - Google Code

and since that is from what I understand the original, it should work. Buuuut I guess I got lost again somewhere :)
just to be sure, I downloaded the file, extracted it and put only the image-yakju-imm76d.zip file in the cache folder?

Big Thanks for helping me out man


And one other thing. Will I get OTA updates in the future when I update to 4.0.4?

Oh, you can't install the factory images from the Google site via the update.zip method discussed. The IMM76D file you referenced above is the full factory image of all of the Android software.

The factory images are installed by manually flashing via the fastboot command and would effectively wipe your phone.

The 4.0.4 update.zip would basically be an incremental update like an OTA (over-the-air) update would be and would simply update your current 4.0.2 version to 4.0.4 without impacting your data, setup, etc.

I'm guessing that you'll want this file:

http://android.clients.google.com/packages/ota/google_maguro/7f97fbc19417.signed-yakju-IMM76D-from-ICL53F.7f97fbc1.zip

which I found referenced from here:

How to manually update your GSM Galaxy Nexus to Android 4.0.4 | Android Central

I believe you wouldn't need to flash this from CWM as discussed in that AC page and could install it as an update.zip like we've previously discussed, but I don't have the GSM version of the phone to test this out for you (i.e.,

Its been about a week since the 4.0.4 OTA has started pushing-out, so I'm a little surprised that your device hasn't yet received it on its own...(i.e., Settings -> About phone -> System updates). If you do this, make sure you run OTA Rootkeeper first so that you'll be able to restore root after taking the update.

Hope that helps--I know its a lot to absorb and digest--just let us know if you have any other questions.

Cheers!
 
  • Like
Reactions: laz0rbrain
Upvote 0
Just tried it with the mentioned file but I get the same error.

And with the standard OTA update not incoming that's just the thing. I don't seem to be the only person who is waiting. One of the reasons I want to to it "myself" :)

so I guess either it doesn't work like this with my phone (yakjuxw) or I have to find a matching update file?

Maybe it's simpler to try and flashed it completely with wipe etc? And then install a stock 4.0.2 which gets the OTA directly from google?
 
Upvote 0
Just tried it with the mentioned file but I get the same error.

And with the standard OTA update not incoming that's just the thing. I don't seem to be the only person who is waiting. One of the reasons I want to to it "myself" :)

so I guess either it doesn't work like this with my phone (yakjuxw) or I have to find a matching update file?

Maybe it's simpler to try and flashed it completely with wipe etc? And then install a stock 4.0.2 which gets the OTA directly from google?

Hmm, yeah, that kind of sounds like it might be an issue a bad download...let me download it myself and publish its size and MD5 checksum--that'll at least rule-out if that's your issue.

BRB...
 
Upvote 0
laz0rbrain,

By the way--are you a GSM/HSPA+ GNex user or do you have a Verizon LTE Galaxy Nexus device?

The 4.0.4 OTA update is only currently being pushed out of GSM devices...

It just occurred to me that you were posting here in the VZW all-things-root area...the update.zip file would (or should) indeed fail if you are a VZW device due to the (thankfully present) assert checks.

Lemme know...:)
 
  • Like
Reactions: laz0rbrain
Upvote 0
Hmm, yeah, that kind of sounds like it might be an issue a bad download...let me download it myself and publish its size and MD5 checksum--that'll at least rule-out if that's your issue.

BRB...

Here is the MD5 checksum (that I get) for the 7f97fbc19417.signed-yakju-IMM76D-from-ICL53F.7f97fbc1.zip referenced above:

a090302fa43048cd8ca6de4ced96cb6b

Here's the file size: 39,172,911 (bytes)
 
  • Like
Reactions: laz0rbrain
Upvote 0
Not I'm not on Verizon. I'm from switzerland and here we have other providers :)

I just came to this thread via google not because of Verizon. And I have a GSM-Device. Not a lot of LTE in switzerland yet :)

I have the same file as you with same size and checksum, so should I check for another version of this file? Or better just leave it and flashe the sucker for real? :)

your help is much appreciated :)
 
Upvote 0
Not I'm not on Verizon. I'm from switzerland and here we have other providers :)

I just came to this thread via google not because of Verizon. And I have a GSM-Device. Not a lot of LTE in switzerland yet :)

I have the same file as you with same size and checksum, so should I check for another version of this file? Or better just leave it and flashe the sucker for real? :)

your help is much appreciated :)

Ah, okay...that helps and makes me feel better (for all the info you confirmed).

I can't really look at the file right now (at work) to view the assert checks, etc.--I'm guessing that must be the reason (i.e., that there are version and device model checks and your device info conflicts...).

I'll ping you back when I get home after looking at it...hope its not too late for you by then (I used to live in Heidelberg ;) :), so I know you're probably at least 5 or 6 hours ahead of me :)).

Cheers!
 
Upvote 0
Okay,

Here's the top assert checks that are done in the aforementioned update.zip file:

Code:
assert(
   file_getprop(
       "/system/build.prop",
       "[COLOR="purple"]ro.build.fingerprint[/COLOR]") ==
       "[COLOR="Red"]google/yakju/maguro:4.0.2/ICL53F/235179:user/release-keys[/COLOR]" ||

   file_getprop(
       "/system/build.prop", 
       "[COLOR="purple"]ro.build.fingerprint[/COLOR]") == 
       "[COLOR="red"]google/yakju/maguro:4.0.4/IMM76D/299849:user/release-keys[/COLOR]");

assert(
   getprop("[COLOR="purple"]ro.product.device[/COLOR]") == "[COLOR="red"]maguro[/COLOR]" || 
   getprop("[COLOR="purple"]ro.build.product[/COLOR]")   == "[COLOR="red"]maguro[/COLOR]");

Here's the values for my (rooted, custom ROM'd phone):

C:\Users\Scary Alien>adb shell
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
root@android:/ # getprop ro.build.fingerprint
[ro.build.fingerprint]: [google/mysid/toro:4.0.2/ICL53F/235179:user/release-keys]
root@android:/ #

root@android:/ # getprop ro.build.product
[ro.build.product]: [toro]
root@android:/ #
1|root@android:/ # getprop ro.product.device
[ro.product.device]: [toro]
root@android:/ #

So, as you can see, my device would never pass the assert checks as well as all of the others that basically double-check that a host of file's MD5 checksums match was is expected before this update would or could be applied (i.e., since its an update, its got to make sure that its absolutely updating the correct device and setup--anything that is not in-sync will cause the installation to fail).

If you a still bone-stock 4.0.2 (or apparently, 4.0.4) and you haven't done anything more than install the su and Superuser.apk binaries, then this update.zip file should install on your system.
 
  • Like
Reactions: laz0rbrain
Upvote 0
I'm sorry if I seem a bit slow but I still don't get it. :) This whole checksum stuff needs to be done so that I see if my device will accept a certain update.zip file? correct?
I'm not even sure how you did that.

And to answer your last question. I simply followed your instructions on page 1, not even sure what exactly I was doing but I like to experiment with stuff over my head and then annoy Forum users ;) ok the last part is not true :)

so if you think the update.zip file should install on my device but doesn't, what are my options?

And I don't have to rename the file to update.zip right? I did it once anyway but nothing changed

Thanks again for your patience :)
 
Upvote 0
I'm sorry if I seem a bit slow but I still don't get it. :) This whole checksum stuff needs to be done so that I see if my device will accept a certain update.zip file? correct?
I'm not even sure how you did that.

And to answer your last question. I simply followed your instructions on page 1, not even sure what exactly I was doing but I like to experiment with stuff over my head and then annoy Forum users ;) ok the last part is not true :)

so if you think the update.zip file should install on my device but doesn't, what are my options?

And I don't have to rename the file to update.zip right? I did it once anyway but nothing changed

Thanks again for your patience :)

Yeah, the signature checking of a signed .zip file ensures that your file is whole and uncorrupted. I wrote the AFV app (see my signature for a link) to help folks do these checks directly from their phone without having install an md5sum binary and manually type the commands.

LOL, re. the page 1 instructions ;) :). Did you mean my first post or the instructions for trying to update to 4.0.4 (i.e., diverbelow's post #13)?

I do see a few references to having to rename the .zip file to "update.zip"--I think I tested this for the leaked (and as yet unreleased) VZW 4.0.4 OTA and I seem to remember renaming the download to update.zip so that the stock recovery could install it (although I might actually have used CWM to flash it--I just can't remember).

So, did you confirm that you are still stock 4.0.2 with just the root binaries (su and Superuser.apk) installed (i.e., no other system mods)?

If you can't verify the getprop values that I posted above, I can whip-up a quick app for you that will allow you to easily display that on your phone (nothing fancy, though ;) :)). That might tell us that the assert checks are what's keeping you from installing.
 
Upvote 0
I meant your very first post where I just had to run a script like this
. ./root-unroot-for-mac-osx.sh
I have a Mac at work so I used this method.

And yes I have superuser.apk installed an granted OTA Rootekeeper, etc Superuser rights. But I did nothing else. I installed clockworkmod Recovery but and tried once to install the update.zip with rebooting my GN through this app but that didn't help either.
 
Upvote 0
I meant your very first post where I just had to run a script like this
. ./root-unroot-for-mac-osx.sh
I have a Mac at work so I used this method.

And yes I have superuser.apk installed an granted OTA Rootekeeper, etc Superuser rights. But I did nothing else. I installed clockworkmod Recovery but and tried once to install the update.zip with rebooting my GN through this app but that didn't help either.

Ah, I didn't know you had ClocworkMod previously installed...

Do you still have CWM currently installed?

Here's the normal course of events for an OTA update.zip type of file that your dealing with:

- root
- make sure you have a stock recovery
- obtain OTA-update.zip type of file
- rename said file to update.zip
- place update.zip in your /cache partition
- reboot to stock recovery and let it flash the update.zip OTA

-- or --

- root
- have a custom recovery installed
- obtain OTA-update.zip type of file and place somewhere on your /sdcard
- reboot into recovery
- flash said OTA-update.zip file

I'm really thinking that its the assert checks that are hanging you somehow.

Let me write that little app real quick to display the properties I mentioned earlier.

BRB.
 
Upvote 0
laz0rbrain,

Okay, here's an app that I whipped-up for you that will display the three properties that I believe are probably key to the assert checks that are being done that might be hanging you up for installing the 4.0.4 OTA:

Here's the .apk file: View attachment DisplayAssertProperties.apk

Here's a screenshot: display-props-ss.jpg

Your output will obviously be different (you'll have "maguro" in the bottom two properties).

I made the app copy the text contents of the display pop-up to the clipboard so you could paste the contents back here (via your phone).

Let me know what it says...

Cheers!
 
Upvote 0
Thats what it said

ro.build.fingerprint:

samsung/yakjuxw/maguro:4.0.2/ICL53F/I9250XWKL2:user/release-keys

Well, that's clearly the issue: your ro.build.fingerprint property does not match either of the two values that the 4.0.4 OTA file is checking:

Code:
  "[COLOR="Blue"]google[/COLOR]/[COLOR="blue"][B]yakju[/B][/COLOR]/maguro:4.0.2/ICL53F/[COLOR="Blue"]235179[/COLOR]:user/release-keys"

  "google/yakju/maguro:4.0.4/IMM76D/299849:user/release-keys"

So, it looks like your device is updated by your carrier and not Google, so you can't apply this 4.0.4 OTA :(.

I'm guessing that the yakjuxw reference in your ro.build.fingerprint connotes that is your device type. I found references to this app which will tell you whether/if your device is updated by Google or not:

https://play.google.com/store/apps/details?id=de.cbruegg.officialupdate

You might be able to unlock your bootloader and flash the 4.0.4 factory image yourself or you could wait for your carrier to eventually push-out the OTA.

Sucks, I know...
 
Upvote 0
Yep I was aware that Samsungs and not Google directly updates my device, thats why I wanted to update manually. Well then I guess I'll try and flash this stock 4.02 so that I get the updates directly from Google.

So does that mean that I have to do a complet root/unlock bootloader procedure? Will my root through your method not spare me some of the work?

Thanks again for all your help:)
 
Upvote 0
Yep I was aware that Samsungs and not Google directly updates my device, thats why I wanted to update manually. Well then I guess I'll try and flash this stock 4.02 so that I get the updates directly from Google.

So does that mean that I have to do a complet root/unlock bootloader procedure? Will my root through your method not spare me some of the work?

Thanks again for all your help:)

Well, if you are going to flash to stock, you might as well flash to 4.0.4 stock straight-away in lieu of 4.0.2.

No, you'll have to re-root via a different method. The mempodroid root exploit only works on 4.0.1 or 4.02 (I tried it on 4.0.4 without success--they've patched the Linux kernel for the exploit). So, you'll have to root the "old fashioned way" ;) :) -- the easiest being flashing or soft-booting ClockworkMod and flashing the su.zip file.

To flash the stock / factory images, use this post as a guideline / template for your efforts:

How to un-root (return to stock)

substituting and using the corresponding 4.0.4 files in place of any 4.0.2 references there might be (my notes reflected filenames that I used for my VZW device, but you should be able to substitute the proper 4.0.4 filenames appropriate to your device and factory images).

You can find all of the stock / factory images here:

Factory Images for Nexus Devices - Google Support for Nexus Phones and Flagship Devices - Google Code

It looks like your GSM/HSPA+ image is this one (re-verify this for yourself, though ;)):

https://dl.google.com/dl/android/aosp/yakju-imm76d-factory-c6e807a1.tgz

Basically, flashing back to stock involves:

- making sure you've got the proper fastboot USB drivers installed (Windows PCs only)

- unlocking your bootloader if you haven't already (you'll lose the contents of your "SD card" (/sdcard = /data/media) folder--back that up and place off-set before beginning

- downloading and unpacking the appropriate factory image file to your PC

- put your phone into fastboot/bootloader mode

- find and use the contents and commands of the flash-all.sh script (from the stock/factory image file you downloaded) as a template for exactly which fastboot commands you'll need to copy and paste from your PC

- take your time, pause between commands; final command will take about 5 minutes to boot-up

Any details I left-out are covered in the prior post/link listed above.

After you have done the above, you'll be ready to root (using the ClockworkMod rooting method outlined here and also detailed here):

- download and copy the contents of the su.zip file and place on the top-level of your /sdcard

- put your phone back into fastboot/bootloader mode

- download ClockworkMod custom recovery to same folder where your fastboot utility is located (makes it easier to reference from here)

- soft-boot ClockworkMod custom recovery (fastboot boot cwmfile.img)

- do an install zip from sdcard and flash the su.zip file previously placed on your /sdcard folder

- reboot and enjoy root!

That's it in a nutshell, LOL. Lots of other threads and stickies around here to help you out should you need.

If you're are indeed going to flash back to stock, perhaps its time we move that discussion to a new thread ;) :) [we've long surpassed the relevance of discussing this thread's particular root exploit, LOL--I'm happy to move your posts to its own thread if you've like, that would clean things up here a bit; let me know if you have no objections].

Cheers!

edit: you could also make a backup of your current apps, etc. using Titanium Backup before you begin all of this. I don't know where TiBu stores its files for you to save it all for later restoration (I've got TiBu, LOL, but I don't restore my apps that way). I'm sure its covered in this thread, though:

http://www.addictivetips.com/mobile/how-to-use-titanium-backup-for-android-complete-guide/
 
Upvote 0
Hi, thanks for this!

MY GNex is connected succesfully (OSX Lion) and adb devices shows it however i get this in terminal on all the operations:

-bash: ./adb-mac: Operation not permitted

How do I get this to work?

Thanks

Edit: Ok so i just renamed adb-mac to adb, then back again to 'adb-mac' and it worked! Awesome!
 
Upvote 0
Hi, thanks for this!

MY GNex is connected succesfully (OSX Lion) and adb devices shows it however i get this in terminal on all the operations:

-bash: ./adb-mac: Operation not permitted

How do I get this to work?

Thanks

Edit: Ok so i just renamed adb-mac to adb, then back again to 'adb-mac' and it worked! Awesome!

Welcome to the AndroidForums, saffad!

I was about to reply that you might need to secure the adb-mac file to have execute permissions:

chmod a+x adb-mac

but I'm glad you got it going your way, too! :)

Cheers!
 
Upvote 0
Ok I started the process of rooting my GNEX like any good noob does. By reading the best post he could find over and over. I found it was going to go smooth and easy until..... I got to page 3 and all the issues came to life!

I had a Droid 1 and a Droid 2 that I rooted very easy by pushing the 1 click root button and I thought I was a rooting master!!!

Ok not really. I had a little run in with a boom stick in Iraq and ever since then and the resulting 30 + surgeries, I have not been able to follow the simplest of tasks in order. My mind gets lost looking at the next steps.

Is there any one who could do a very short sweet post that says:

push this
read this
see this happen
type this
see this happen
type this again only like this
see this happen
get a drink of water
wait 4 minutes
hold this button, that button and tongue to left, press this button
sit and watch it all work!!!

I would really love to get my phone rooted so i can stop the useless things from running in the background and burning my battery up in 3-4 hours. I never want VZW account crap to run but there it is all day long no matter how many times I kill it. And my maps running when I ain't looking to go anywhere... All that just aggravates me to no end. I don't want them to run, I ain't using them, and android says I have full control over my phone! So I want to be able to exercise my control. But I have to root first. AND I DO NOT WANT TO WIPE THE DEVICE to get there!

Can you write up a Barny script so I can't screw it up? Can you put it in an app so I can't ruin your hard work? Can you do a step by step line by line manual for me to follow and get my phone rooted! Please!

I really want the power!!!

Much Mahalo.

And thank you for trying to help me out. My head got rattled fairly good and I have to take a few extra steps to get the things done now. But I am still fighting and winning!
 
Upvote 0
ibizian,

Not sure how much I could elaborate or simplify the "How to use:" section in this thread's first post to help you (other than making sure you've clicked the "Show" button for the detail/outline therein).

The process is really pretty straightforward to use as long as you've got adb USB access to your device--which, unfortunately, is often the stumbling block for a lot of folks.

MS/Windows seems to make adb USB connectivity a whole lot more complicated than it really should be (i.e., Linux and Mac machines do not have to install any special drivers).

Take it one bite at a time and see how far along you get--there's nothing in this process that will break your device--its entire goal is to simply install the su and Superuser.apk binaries on your phone, nothing more.

Cheers!
 
Upvote 0

BEST TECH IN 2023

We've been tracking upcoming products and ranking the best tech since 2007. Thanks for trusting our opinion: we get rewarded through affiliate links that earn us a commission and we invite you to learn more about us.

Smartphones