The Samsung Galaxy Nexus, a phone which should stand as the epitome of a pure Google Experience device, has been receiving a lot of flak lately for inclusion of bloatware and exclusion of Google Wallet, at least in the Verizon version. That being the case, many have resorted to obtaining a purer version elsewhere, purchasing the GSM counterpart for use on alternative networks. As it turns out the GSM version may have its fair share of problems as well, besides the volume bug. One of the key aspects of a Nexus device is the fact that it is updated before any other devices, and the updates come to you straight from Google immediately thereafter they release them. As expected, Google pushed out update 4.0.1 and people started receiving it without missing a beat, some people that is. A buzz began when select XDA community members realized they had failed to receive the 4.0.1 update. Many of them anything but new to Android took matters into their own hands and decided to flash the update to their devices manually using the Google provided update zip file. They subsequently found that they could not manually install either.

What’s going on here?

XDA member Luxferro did some investigating and made a startling discovery.

“I just went to update my gnex manually, and both stock recovery and CWR told me that the signature was wrong. So I looked in the update zip and saw the following”

assert(file_getprop(“/system/build.prop”, “ro.build.fingerprint”) == “google/yakju/maguro:4.0.1/ITL41D/223971:user/release-keys”

||file_getprop(“/system/build.prop”, “ro.build.fingerprint”) == “google/yakju/maguro:4.0.1/ITL41F/228551:user/release-keys”);

“Then I looked in my build.prop and saw that I have a different fingerprint, and that is why it won’t let me manually update.”

ro.build.fingerprint=samsung/yakjuxw/maguro:4.0.1/I9250XWKK5_ITL41D/163402:user/ release-keys

We now know that several software configurations of the GSM Galaxy Nexus exist. Of those, the only Google-controlled version is yakju. Anything else is a Samsung-controlled variant. All carry the hardware code name maguro, so it is plausible that they can be flashed to the yakju build. However, according to Android software engineer Jean-Baptise Queru, it is unclear at this time whether this is actually possible.

“yakjusc and yakjuxw are indeed the two Samsung-prepared builds I’m aware of at the moment, but I’m discovering them as they get released. I only have some visibility over the builds that are prepared by Google, i.e. yakju. Everything else comes from Samsung and I don’t know what their schedules and release plans are. I can’t guarantee that flashing the yakju files that I posted would work on a device that originally shipped with yakjuxw, as I don’t have access to such devices. The hardware is supposed to be close, but I don’t know for sure that it’s close enough. JBQ”

The fact that all builds other than yakju are not controlled by Google themselves, leads to the very real possibility of update delays and carrier- and/or OEM-installed bloatware. In fact we were already witnessing this in both the Verizon version having bloat/restrictions and now some GSM versions not receiving updates on time. The Nexus is supposed to represent Google’s regain of platform control, anything other than unfettered Google is hardly Nexus, if at all.

Which Phones are affected?

At this point if you have already purchased a Galaxy Nexus, you may be wondering which update track you’re on. It doesn’t seem like you can nail down the modified branch of phones to any single retailer. XDA members report having the yakjuxw build after purchasing from several retailers including Negri & Expansys – USA. Moreover, a few report the Google yakju build after having bought the device from both of the aforementioned retailers, so they seem to have mixed in the retail space. Consequently, you’ll just have to check it yourself. But don’t worry, it’s easy. Simply download a file manager app, like Astro for example, and browse for the folder called system. In there you will find a file named build.prop. Open that and look for ro.build.fingerprint=…there you’ll find your build.

How do I get on Google’s update path?

So you found yourself with the yakjuwx build. In order to switch, you’ll have to wipe your device so backup any important data. Luckily it isn’t necessary to root your Nexus because it has an unlockable bootloader. You simply need to have fastboot on your PC (which is included in the Android SDK). Using fastboot on your PC you can easily OEM unlock the device and flash the desired images. Be forewarned, OEM Unlock voids your warranty and neither I nor TalkAndroid can say definitively that flashing the yakju build over a previous yakjuwx build will do no harm, however Luxferro was able to make the transition successfully. All you need to do is grab the factory image from Google. Assuming you have already OEM unlocked the device simply type

fastboot -w update image-yakju-itl41f.zip

in your console and you should be all set, back on Google’s update track.

Thoughts

Okay readers, we want to hear from you. How does this make you feel about the Galaxy Nexus, especially the prospective Verizon version. Don’t get me wrong, I still want one, and if my Verizon version doesn’t have the pure build (99.99999999% sure it won’t), I’m comfortable flashing. It just seems terribly wrong, however, that I should have to modify even a Nexus to get it right. Am I right? Chime in!