[UPDATE][JB]Stock Android 4.1.2 JZO54K, Root, via CWM Recovery (US Wi-Fi MZ604)

Search This thread

stachre

Senior Member
Mar 30, 2011
98
347
[size=+1]BEFORE YOU BEGIN[/size]

WARNING: Following this procedure may damage or permamently destroy your device. This procedure is provided with NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Perform this procedure at your own risk.

THIS IS NOT A CUSTOM ROM: This is a stock rooted update (stock ROM, stock kernel), NOT a full-featured custom ROM. If you want the latest custom features implemented by developers, install the ROM appropriate for your model (Team EOS Xoom 4G MZ602 JB ROM, Team EOS Xoom Wi-Fi MZ604 JB ROM, others in the forums); otherwise, if you want stock 4.1.2 JZO54K ROM and kernel with root, continue below.

COMPATIBILITY: This update is for the US Xoom Wi-Fi MZ604. Users with Xoom 3G/4G and non-US models have reported success with these stock rooted updates for MZ604; however, if you perform this procedure on any other model, you may break your device. The update script verifies only whether the device identifies itself as a Xoom, performing NO CHECKS on the exact model of Xoom before flashing rooted stock 4.1.2 JZO54K system and boot images. This means it won't stop you from flashing on a non-US or 3G/4G device; it will just flash and if there are any issues, you will need to deal with them. Please proceed only if you're tech-savvy with Android and the Xoom, backed up and ready to restore in case of issues, and good at troubleshooting. Please provide feedback and corrections, and I'll update the post as quickly as I can. Thanks!


[size=+1]SUMMARY[/size]

This is a modded update package (update.zip) that updates the US Xoom Wi-Fi from any ROM to stock rooted Android 4.1.2 JZO54K using ClockworkMod Recovery:
  • Flashes bootloader from a previous update (3.2.1 HTK55D) to ensure integrity (bootloader remains unlocked)
  • Flashes the boot partition with rooted stock 4.1.2 boot image, stock kernel
  • Stock kernel includes no extras (overclocking, etc.) from custom kernels
  • Flashes system partition with rooted stock 4.1.2 image (minus the recovery overwrite script; includes gapps)
  • Includes Superuser.apk 3.1.3 and su binary to enable functioning root (thanks, chainsdd)
  • Hardware SDCard continues to be read-only via documented application permissions (at /storage/sdcard1 as of 4.1.1 JRO03H)
  • Leaves existing recovery partition intact (unmodded stock 4.1.2 update overwrites it on every reboot)
  • Leaves user data intact (note: some users updating from custom ROM's recommend wiping data/factory reset to prevent issues)

[size=+1]PREPARATION[/size]
  • Download the modded Xoom Wi-Fi Android 4.1.2 JZO54K update package
    update_US-Xoom-WiFi-4.1.2-JZO54K_stachre_v01.zip
    MD5: d9567c4d691b7ef0ae121c9dcee12585​
  • Ensure you have flashed ClockworkMod Recovery (thanks, solarnz, bigrushdog, koush, et al)
    [Recovery] ClockworkMod 3.2.0.0 (R4c) Modded for Internal media [UPDATED 10/6]
    Note: there are more current recovery options available which are likely compatible; however, these instructions haven't yet been updated accordingly.
  • Ensure a physical SDCard with enough free space is installed in your Xoom (required for ClockworkMod Recovery updates; update package requires about 155MB; run adb shell df to get a rough idea of optional nandroid backup size) and have it functioning properly

[size=+1]PROCEDURE[/size]
  1. Backup your data
    If you have issues with this update, you may need to "wipe data/factory reset" before the system will fully boot properly. For some, simply copying the contents of the Xoom's internal storage (mostly music, pictures, videos, etc.) to their PC is enough. Others require backup of their apps, app data, etc. using more robust solutions like Titanium Backup. Backup your data according to your needs.
    .
  2. Copy/download the modded Android 4.1.2 Update package to the SDCard
    .
  3. Reboot into recovery
    • Reboot your Xoom
    • When the Motorola logo splash screen appears, press the Volume Down button to scroll through boot options and select "--> Android Recovery"
    • Press the Volume Up button to enter Android recovery
  4. Wipe cache and dalvik-cache
    Note that in recovery, you use the hardware volume buttons to navigate up and down, and the power button to select. Note also that if you are coming over from a custom ROM, users suggest backing up data and doing a "wipe data/factory reset" in ClockworkMod Recovery instead.
    • Select "wipe cache partition"
    • Select "Yes - Wipe Cache"
    • Select "advanced"
    • Select "Wipe Dalvik Cache"
    • Select "Yes - Wipe Dalvik Cache"
    • Select "+++++Go Back+++++"
  5. Optional: Perform nandroid backup (long)
    If you have issues with this update, you may need to "wipe data/factory reset" before the system will fully boot properly. Performing a nandroid backup in ClockworkMod Recovery allows you to fully restore your device's state if you need to revert for whatever reason. Note that backing up even a bare system runs a few minutes, so this could take a very long time and require the availability of a power charger. You also need sufficient free space on your SDCard to perform the backup; the backup process does not verify required space before starting, simply failing (and wasting your time) if it runs out.
    • Select "backup and restore"
    • Select "Backup"
    • Be patient :)

      "Backup complete!" will indicate that the update is completed.
  6. Perform update
    • Select "install zip from sdcard"
    • Select "choose zip from sdcard"
    • Select the modded Android 4.1.2 update package
    • Select "Yes - Install <filename>"

      "Install from sdcard complete." will indicate that the update is completed.
      .
    • Select "+++++Go Back+++++"
    • Select "reboot system now"

      New bootloader will install. The message, "Congratulation! Your bootloader was successfully upgraded" will be immediately followed by an automatic reboot.
  7. Enjoy your rooted Xoom Wi-Fi, running on Android 4.1.2 JZO54K!

[size=+1]POST-UPDATE NOTES[/size]

  • Stuck on Motorola logo / Bootloops: Users report "Wipe data/factory reset" in ClockworkMod Recovery often resolves this issue.
  • file_getprop:failed to stat / assert_failed: The update checks the ro.product.model property in /system/build.prop to verify that the device is a Xoom before proceeding; if the system partition was formatted prior to installing or the currently installed ROM doesn't have this property set to "Xoom", the check will fail. Flash any compliant ROM (the stock system image from Google will also work) and retry.

[size=+1]CHANGELOG[/size]

  • v01: First release, JZO54K; includes root, Superuser.apk, su
 
Last edited:

stachre

Senior Member
Mar 30, 2011
98
347
[size=+1]UPDATE PACKAGE DETAILS (v01)[/size]

BOOTLOADER: flashed with stock 4.1.2 JZO54K bootloader
  • Extracted from a previous update package (3.2.1 HTK55D)
  • Bootloader flashed after reboot
Code:
BCT[4->4] (vendor: 0x101 product: 0x5454 vers: 0x0)
RECOVERY: not flashed; left intact​

BOOT: flashed with modded stock 4.1.2 JZO54K boot image with stock kernel
  • Kernel: flashed with stock 4.1.2 JZO54K kernel
    • 2.6.39.4-g4e32b94 android-build@vpbs1 ) #1 SMP PREEMPT Mon Sep 10 14:01:08 PDT 2012
    • Includes no extras (overclocking, etc.) from custom kernels
  • default.prop: modded JZO54K default.prop (ramdisk)
    Code:
    ro.secure=0
    ro.allow.mock.location=1
    ro.debuggable=1
    persist.sys.usb.config=mtp
SYSTEM: flashed with modded stock 4.1.2 JZO54K system image
  • build.prop: stock 4.1.2 JZO54K build.prop
    Code:
    ro.build.fingerprint=motorola/tervigon/wingray:4.1.2/JZO54K/485486:user/release-keys
    ro.build.description=tervigon-user 4.1.2 JZO54K 485486 release-keys
  • REMOVED: Stock recovery install script, patch
  • ADDED: Superuser.apk 3.1.3 and su binary to enable functioning root (thanks, chainsdd)
  • Hardware SDCard continues to be read-only via documented application permissions (at /storage/sdcard1 as of 4.1.1 JRO03H)
USERDATA: Launcher favorites updated with new Google Play Store intent (included in stock 4.1.1 JRO03H update from Google)
  • /data/data/com.android.launcher/databases/launcher.db: updated with new Google Play Store intent.
 

stachre

Senior Member
Mar 30, 2011
98
347
[size=+1]STOCK ROOTED UPDATE PACKAGE BUILD PROCEDURE[/size]

For the curious and do-it-yourself types, this is how I produced this stock rooted update for the Motorola XOOM Wi-Fi MZ604 (US). I use Ubuntu, but this should also work on other *nix flavors, including OSX. The handy scripts provided by alansj for unpacking and repacking boot images, however, are not Windows friendly.

  1. Ensure Android SDK is properly installed and configured on the workstation
    Both adb and fastboot must be functioning properly in order to proceed. This procedure assumes that the directory containing adb and fastboot (or their symlinks) are in the PATH environment variable, allowing them to be called from anywhere.
  2. Ensure perl, cpio, gzip, and gunzip, are properly installed and configured on the workstation
    These are necessary to unpack and repack the boot image for modding.
  3. Ensure unpack-bootimg.pl and repack-bootimg.pl scripts are properly installed and configured on the workstation (thanks, alansj)
    This procedure assumes that the directory containing these scripts (or their symlinks) are in the PATH environment variable, allowing them to be called from anywhere simply by their name. Note that some PERL configurations may require calling perl and passing the path to the script as an argument.
  4. Ensure ClockworkMod Recovery is properly installed and configured on the device (thanks, solarnz, bigrushdog, koush, et al)
    Also ensure that the ClockworkMod Recovery image is in the working directory on the workstation in case it needs to be reflashed.
  5. Download su and Superuser.apk (thanks, chainsdd)
    Extract the ZIP file containing su and Superuser.apk into the working directory on the workstation.
  6. Download stock images and previous OTA (Over The Air) update packages
    3.0.1 HWI69 Images: http://developer.motorola.com/produ...utm_source=supportforums&utm_term=unlockboard
    3.1 HMJ37 OTA: http://android.clients.google.com/p...signed-tervigon-HMJ37-from-HWI69.e379f0b9.zip
    3.2 HTJ85B OTA: http://android.clients.google.com/p...igned-tervigon-HTJ85B-from-HMJ37.db223b6e.zip
    3.2.1 HTK55D OTA: http://android.clients.google.com/p...gned-tervigon-HTK55D-from-HTJ85B.73617300.zip
    3.2.1 HTK75D OTA: http://android.clients.google.com/p...gned-tervigon-HTK75D-from-HTK55D.01cd4f05.zip
    4.0.3 IML77 OTA: http://android.clients.google.com/p...igned-tervigon-IML77-from-HTK75D.71a21bfe.zip
    4.0.4 IMM76 OTA: http://android.clients.google.com/p...signed-tervigon-IMM76-from-IML77.0d062b3b.zip
    4.1.1 JRO03H OTA: http://android.clients.google.com/p...igned-tervigon-JRO03H-from-IMM76.f85d815e.zip
    Note that the OTA update scripts check properties to see if the device is identified as "wingray". The above linked version of ClockworkMod Recovery identifies itself as "stingray", so you will get assert errors and the installation will fail. You can disable script asserts by using the toggle script asserts menu option (under install zip from sdcard), but keep in mind that this will allow you to install the updates out of order. The other, safer but more labor-intensive option is to edit the updater-script in each package and remove the "wingray" asserts.
  7. Download the current stock OTA update package
    Google hosts the OTA updates for the Motorola XOOM Wi-Fi MZ604 (US). The devices periodically check Google for updates, and when an update has been made available, it will be downloaded (usually to /cache/) with a notification presented to the user.

    The full URL to the update package is output to the device log, which is available via logcat (adb logcat; DDMS; aLogcat app). The full URL can also be constructed from just the filename -- available in the device's /cache/ directory if downloaded, or often by searching the web -- by appending it to the following path:

    Code:
    http://android.clients.google.com/packages/ota/motorola_tervigon/

    In this case, we find that the JZO54K update package's filename is 75baa1719d30.signed-tervigon-JZO54K-from-JRO03H.75baa171.zip, which yields the following URL:

    See also the note on the previous step regarding "wingray" asserts.
  8. Save all stock OTA update packages to the hardware SDCard
    These will be installed via ClockworkMod Recovery later in the procedure.
  9. Connect the XOOM to the workstation via USB
    Also verify that USB debugging is enabled in the settings on the device. The device should show up if the following command is run from a terminal/command prompt:
    Code:
    adb devices
  10. Backup the device
    This process is going to overwrite everything on the device, so backup using whatever method is preferred. ClockworkMod Recovery's Nandroid backup is a great option.
  11. Flash stock images via fastboot
    Unpack the zip file containing the stock HWI69 images into the working directory on the workstation and run the following commands from a terminal/command prompt:
    Code:
    cd <path to working directory>
    adb reboot bootloader
    fastboot flash boot boot.img
    fastboot flash system system.img
    fastboot flash userdata userdata.img
    Keep this terminal/command prompt open, as it will be used further.
  12. Install stock OTA updates via ClockworkMod Recovery
    Reboot after each update to ensure that it completes -- bootloader updates (HMJ37 and HTK55D), for instance, are performed after rebooting -- but ensure the boot sequence is interrupted with the VolDown key and re-enter ClockworkMod Recovery before the boot animation begins, to prevent overwriting with stock recovery.

    Without a bootloader update, press VolDown after waiting a few seconds on the red Motorola logo screen. If there is a bootloader update, however, it gets tricky; after the automatic reboot, wait about 14 seconds on the red logo before pressing VolDown. If nothing happens, reset (Power + VolUp) and try again. If the boot animation begins, try resetting but note that recovery was likely overwritten by stock, requiring a re-flash of ClockworkMod Recovery.

    Repeat this procedure of installing and rebooting until the last update is complete and the device is back into ClockworkMod Recovery.
  13. Perform a nandroid backup in ClockworkMod Recovery
    This generates clean, current stock images with which to work, while also providing an easier starting point for any future mods.
  14. Download and unpack the boot image
    Run the following commands from the terminal/command prompt:
    Code:
    adb pull /sdcard/clockworkmod/backup/<directory name>/boot.img boot-stock.img
    unpack-bootimg boot-stock.img
    This will extract the kernel and ramdisk gzip files into the current directory, with the actual ramdisk files being unpacked into a subdirectory (boot-stock.img-ramdisk).
  15. Modify default.prop in ramdisk
    Open default.prop (located in the ramdisk subdirectory) in the preferred text editor and edit the following properties:
    Code:
    ro.secure=0
    ro.allow.mock.location=1
    ro.debuggable=1
    ro.secure=0 is the most important, for it enables adb to run as root, which is necessary for remounting the system partition as read/write and install su.

    Clean up any temp/backup files the text editor may have created in the ramdisk directory before proceeding.
  16. Repack and flash the modified boot image
    Run the following commands from the terminal/command prompt:
    Code:
    repack-bootimg boot-stock.img-kernel.gz boot-stock.img-ramdisk boot-root.img
    adb reboot bootloader
    fastboot flash boot boot-root.img
    fastboot reboot
    The device should now boot with a rooted boot image.
  17. Install and configure su and Superuser.apk; remove recovery overwrite files
    Remount the system partition as read/write and push the files using the following commands from the terminal/command prompt:
    Code:
    adb remount
    adb push su /system/bin/su
    adb push Superuser.apk /system/app/Superuser.apk
    adb shell
    Once in adb shell, configure the pushed files:
    Code:
    chown root.shell /system/bin/su
    chmod 6755 /system/bin/su
    ln -s /system/bin/su /system/xbin/su
    chmod 644 /system/app/Superuser.apk
    While still in adb shell, remove the recovery overwrite script and patch:
    Code:
    rm /system/etc/install-recovery.sh
    rm /system/recovery-from-boot.p
    reboot
    The device should now boot fully rooted.
  18. Extract the freshly rooted system image
    Run the following command from the terminal/command prompt:
    Code:
    adb shell
    Once in adb shell, dump the system image to the hardware SDCard:
    Code:
    dd if=/dev/block/platform/sdhci-tegra.3/by-name/system of=/storage/sdcard1/system-root.img
    exit
    Once back to the local prompt, pull the image to the working directory:
    Code:
    adb pull /storage/sdcard1/system-root.img
  19. Configure the device and test
    Ensure the device and apps function normally, including root apps.
  20. Identify any updates outside of system and boot partitions (bootloader, userdata, etc.)
    Open all OTA update packages in the preferred ZIP archive manager and go through each updater-script (located in /META-INF/com/google/android/) to determine if any additional updates have been made. This will require some understanding of edify script, which is straightforward and easy to read.

    These additional updates will need to be included in the stock rooted update package in order to ensure safe update from any ROM.
  21. Assemble the update package
    This simple objective here is to package the rooted boot and system images, files for additional updates (if any), the updater-script with commands to perform the update, and any helper tools into an Android update package (essentially a ZIP file).

    While this is a complicated task, it is made easier by starting with existing custom update packages and modifying their contents and script.
  22. Test installation via ClockworkMod Recovery
    Load other ROMS -- stock Honeycomb, custom ROM's, etc. -- and test the update using the procedure in the OP. Note that you may need to reflash ClockworkMod Recovery one final time at this point.
  23. Restore personal device backup; dogfood
    Restore the backup you made prior to flashing the stock images at the beginning of this procedure, and upgrade your device with the package you've built. Bask in glory.
 

matt4321

Retired Senior Moderator - The Real Matt
Dec 20, 2011
4,000
6,240
30
Reading, UK
Wow! Super fast, thanks so much for sharing this

Sent from my ZTE-BLADE using Tapatalk 2
 

trevd

Inactive Recognized Developer
Jul 19, 2011
895
1,271
Hull
Samsung Galaxy Tab 4
Great Work, As usual.:good:

I've been using your updates since HoneyComb on my Euro Wifi without any problems.
I generally adjust the boot image manually, I like to persist adb in the default.prop, I find watching the logcat helps ease the nerves on the first boot after the flash. :D

Thanks
 

tjrocks91

Senior Member
Feb 10, 2010
160
18
Clifton
im installing on my stringray right now!

[updated] this installed perfectly on my stingray after i used RSD lite to sbf back to ICS, re-rooted, and flashed through CWM recovery! it's running really great
 
Last edited:

psyCORe

Senior Member
Mar 16, 2007
160
8
Thanks for update,
Reporting Titanium backup could not aquired root acces


Updated: problem solve after clearing cache
 
Last edited:

valent|n0

Senior Member
Feb 8, 2011
323
25
Surabaya
any suggestion on how to backup my current rooted 4.1.1? Mainly just apps - almost 100 apps and games

agh I didn't know rooted device will cause this much grief to update to 4.1.2 :)
 
  • Like
Reactions: diskman8004

rguinot

Member
Oct 4, 2009
6
0
Thanks!

I managed to use your build to get to 4.1.2 successfully from my 4.1.1 rooted xoom. I have a couple of questions :

- In what state does the bootloader end up in (locked or unlocked) ? is there a way to check for status on the xoom ?
- can an unlocked bootloader receive OTA updates ? does one only need to reflash stock recovery prior to attempting the OTA or do you also need to unroot ?

It is as you said needed to use that specific recovery image, the latest clockwork recovery did not want to mound to sdcard for some reason....

I also updated the su and Superuser.apk to version 3.2. in your build it's version 3.1.3. don't think it matters much but i had the 3.2 versions before going from 4.1.1 to 4.1.2 so i decided to keep them.

Thanks for the guide,
Romain.
 

ifti_a

Senior Member
Apr 7, 2010
1,369
157
London
Hi all

I was on jellybean 4.1.1 without root, then I rooted via recovery. Now I'm on 4.1.1 with root,

I have just received a notification about the 4.1.2 update. Do I need to Install that before doing this or just install this update ?

Will it wipe anything ?

I'm a little confused, any help would be appreciated

Thanks in advance.

Sent from my Xoom using Tapatalk 2
 

nadiros

Senior Member
Mar 3, 2010
1,387
731
New Westminster
Hi all

I was on jellybean 4.1.1 without root, then I rooted via recovery. Now I'm on 4.1.1 with root,

I have just received a notification about the 4.1.2 update. Do I need to Install that before doing this or just install this update ?

Will it wipe anything ?

I'm a little confused, any help would be appreciated

Thanks in advance.

Hey, if you update OTA from your notification then you will lose root. This ROM should be identical with the additions mentioned in the OP. I would go this route, however there are many ways to get the same result so as always its up to you.

And yes you can flash directly to this version from 4.1.1.

-----> Be sure to nandroid and no worries eh ;)
 
  • Like
Reactions: ifti_a

ifti_a

Senior Member
Apr 7, 2010
1,369
157
London
Worked perfectly for me, no issues at all, just I prefer super such instead of supersu.....

Still great

thank you

Sent from my Xoom using Tapatalk 2
 

felipevsw

Senior Member
Jan 9, 2012
793
299
Porto Alegre
Just a feedback:

I'm from Brazil and just installed this on mine. Works flawlessly!
And I really hope this solves my hibernation problem that I was having with CM10.

Thanks!
 

uhs74

Senior Member
Aug 14, 2010
134
2
got issue during update of 4.1.2

Hello,
I have xoom wifi usa and had rooted with previous version
this time during update - i accidently format system and then try to select from sd card and i got error that build/prop file not found and installation aborted

<<<<<<<<<<<<<<<<<<
file_getprop:failed to stat "/system/build.prop": No such file or directory
E:Error in /sdcard/update_US-Xoom-Wifi-4.1.2-Jz054....zip
(Status 7)
Installation aborted
>>>>>>>>>>>>>>>>>>>

i tried to restore option frm recovery and aft restart it just stuck to logo.

i tried agian to recovery and got same error.

any input will be great.
 
Last edited:

zubr0w

Member
May 27, 2009
34
2
Mr stachre

Thanks again and again.
I've been using your work since ice cream sandwich.

I have now the latest offering for my xoom (on the very day my xoom was notifying me of the new update) i'm very happy :) :)

Cu
 

Top Liked Posts

  • There are no posts matching your filters.
  • 50
    [size=+1]BEFORE YOU BEGIN[/size]

    WARNING: Following this procedure may damage or permamently destroy your device. This procedure is provided with NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Perform this procedure at your own risk.

    THIS IS NOT A CUSTOM ROM: This is a stock rooted update (stock ROM, stock kernel), NOT a full-featured custom ROM. If you want the latest custom features implemented by developers, install the ROM appropriate for your model (Team EOS Xoom 4G MZ602 JB ROM, Team EOS Xoom Wi-Fi MZ604 JB ROM, others in the forums); otherwise, if you want stock 4.1.2 JZO54K ROM and kernel with root, continue below.

    COMPATIBILITY: This update is for the US Xoom Wi-Fi MZ604. Users with Xoom 3G/4G and non-US models have reported success with these stock rooted updates for MZ604; however, if you perform this procedure on any other model, you may break your device. The update script verifies only whether the device identifies itself as a Xoom, performing NO CHECKS on the exact model of Xoom before flashing rooted stock 4.1.2 JZO54K system and boot images. This means it won't stop you from flashing on a non-US or 3G/4G device; it will just flash and if there are any issues, you will need to deal with them. Please proceed only if you're tech-savvy with Android and the Xoom, backed up and ready to restore in case of issues, and good at troubleshooting. Please provide feedback and corrections, and I'll update the post as quickly as I can. Thanks!


    [size=+1]SUMMARY[/size]

    This is a modded update package (update.zip) that updates the US Xoom Wi-Fi from any ROM to stock rooted Android 4.1.2 JZO54K using ClockworkMod Recovery:
    • Flashes bootloader from a previous update (3.2.1 HTK55D) to ensure integrity (bootloader remains unlocked)
    • Flashes the boot partition with rooted stock 4.1.2 boot image, stock kernel
    • Stock kernel includes no extras (overclocking, etc.) from custom kernels
    • Flashes system partition with rooted stock 4.1.2 image (minus the recovery overwrite script; includes gapps)
    • Includes Superuser.apk 3.1.3 and su binary to enable functioning root (thanks, chainsdd)
    • Hardware SDCard continues to be read-only via documented application permissions (at /storage/sdcard1 as of 4.1.1 JRO03H)
    • Leaves existing recovery partition intact (unmodded stock 4.1.2 update overwrites it on every reboot)
    • Leaves user data intact (note: some users updating from custom ROM's recommend wiping data/factory reset to prevent issues)

    [size=+1]PREPARATION[/size]
    • Download the modded Xoom Wi-Fi Android 4.1.2 JZO54K update package
      update_US-Xoom-WiFi-4.1.2-JZO54K_stachre_v01.zip
      MD5: d9567c4d691b7ef0ae121c9dcee12585​
    • Ensure you have flashed ClockworkMod Recovery (thanks, solarnz, bigrushdog, koush, et al)
      [Recovery] ClockworkMod 3.2.0.0 (R4c) Modded for Internal media [UPDATED 10/6]
      Note: there are more current recovery options available which are likely compatible; however, these instructions haven't yet been updated accordingly.
    • Ensure a physical SDCard with enough free space is installed in your Xoom (required for ClockworkMod Recovery updates; update package requires about 155MB; run adb shell df to get a rough idea of optional nandroid backup size) and have it functioning properly

    [size=+1]PROCEDURE[/size]
    1. Backup your data
      If you have issues with this update, you may need to "wipe data/factory reset" before the system will fully boot properly. For some, simply copying the contents of the Xoom's internal storage (mostly music, pictures, videos, etc.) to their PC is enough. Others require backup of their apps, app data, etc. using more robust solutions like Titanium Backup. Backup your data according to your needs.
      .
    2. Copy/download the modded Android 4.1.2 Update package to the SDCard
      .
    3. Reboot into recovery
      • Reboot your Xoom
      • When the Motorola logo splash screen appears, press the Volume Down button to scroll through boot options and select "--> Android Recovery"
      • Press the Volume Up button to enter Android recovery
    4. Wipe cache and dalvik-cache
      Note that in recovery, you use the hardware volume buttons to navigate up and down, and the power button to select. Note also that if you are coming over from a custom ROM, users suggest backing up data and doing a "wipe data/factory reset" in ClockworkMod Recovery instead.
      • Select "wipe cache partition"
      • Select "Yes - Wipe Cache"
      • Select "advanced"
      • Select "Wipe Dalvik Cache"
      • Select "Yes - Wipe Dalvik Cache"
      • Select "+++++Go Back+++++"
    5. Optional: Perform nandroid backup (long)
      If you have issues with this update, you may need to "wipe data/factory reset" before the system will fully boot properly. Performing a nandroid backup in ClockworkMod Recovery allows you to fully restore your device's state if you need to revert for whatever reason. Note that backing up even a bare system runs a few minutes, so this could take a very long time and require the availability of a power charger. You also need sufficient free space on your SDCard to perform the backup; the backup process does not verify required space before starting, simply failing (and wasting your time) if it runs out.
      • Select "backup and restore"
      • Select "Backup"
      • Be patient :)

        "Backup complete!" will indicate that the update is completed.
    6. Perform update
      • Select "install zip from sdcard"
      • Select "choose zip from sdcard"
      • Select the modded Android 4.1.2 update package
      • Select "Yes - Install <filename>"

        "Install from sdcard complete." will indicate that the update is completed.
        .
      • Select "+++++Go Back+++++"
      • Select "reboot system now"

        New bootloader will install. The message, "Congratulation! Your bootloader was successfully upgraded" will be immediately followed by an automatic reboot.
    7. Enjoy your rooted Xoom Wi-Fi, running on Android 4.1.2 JZO54K!

    [size=+1]POST-UPDATE NOTES[/size]

    • Stuck on Motorola logo / Bootloops: Users report "Wipe data/factory reset" in ClockworkMod Recovery often resolves this issue.
    • file_getprop:failed to stat / assert_failed: The update checks the ro.product.model property in /system/build.prop to verify that the device is a Xoom before proceeding; if the system partition was formatted prior to installing or the currently installed ROM doesn't have this property set to "Xoom", the check will fail. Flash any compliant ROM (the stock system image from Google will also work) and retry.

    [size=+1]CHANGELOG[/size]

    • v01: First release, JZO54K; includes root, Superuser.apk, su
    12
    [size=+1]STOCK ROOTED UPDATE PACKAGE BUILD PROCEDURE[/size]

    For the curious and do-it-yourself types, this is how I produced this stock rooted update for the Motorola XOOM Wi-Fi MZ604 (US). I use Ubuntu, but this should also work on other *nix flavors, including OSX. The handy scripts provided by alansj for unpacking and repacking boot images, however, are not Windows friendly.

    1. Ensure Android SDK is properly installed and configured on the workstation
      Both adb and fastboot must be functioning properly in order to proceed. This procedure assumes that the directory containing adb and fastboot (or their symlinks) are in the PATH environment variable, allowing them to be called from anywhere.
    2. Ensure perl, cpio, gzip, and gunzip, are properly installed and configured on the workstation
      These are necessary to unpack and repack the boot image for modding.
    3. Ensure unpack-bootimg.pl and repack-bootimg.pl scripts are properly installed and configured on the workstation (thanks, alansj)
      This procedure assumes that the directory containing these scripts (or their symlinks) are in the PATH environment variable, allowing them to be called from anywhere simply by their name. Note that some PERL configurations may require calling perl and passing the path to the script as an argument.
    4. Ensure ClockworkMod Recovery is properly installed and configured on the device (thanks, solarnz, bigrushdog, koush, et al)
      Also ensure that the ClockworkMod Recovery image is in the working directory on the workstation in case it needs to be reflashed.
    5. Download su and Superuser.apk (thanks, chainsdd)
      Extract the ZIP file containing su and Superuser.apk into the working directory on the workstation.
    6. Download stock images and previous OTA (Over The Air) update packages
      3.0.1 HWI69 Images: http://developer.motorola.com/produ...utm_source=supportforums&utm_term=unlockboard
      3.1 HMJ37 OTA: http://android.clients.google.com/p...signed-tervigon-HMJ37-from-HWI69.e379f0b9.zip
      3.2 HTJ85B OTA: http://android.clients.google.com/p...igned-tervigon-HTJ85B-from-HMJ37.db223b6e.zip
      3.2.1 HTK55D OTA: http://android.clients.google.com/p...gned-tervigon-HTK55D-from-HTJ85B.73617300.zip
      3.2.1 HTK75D OTA: http://android.clients.google.com/p...gned-tervigon-HTK75D-from-HTK55D.01cd4f05.zip
      4.0.3 IML77 OTA: http://android.clients.google.com/p...igned-tervigon-IML77-from-HTK75D.71a21bfe.zip
      4.0.4 IMM76 OTA: http://android.clients.google.com/p...signed-tervigon-IMM76-from-IML77.0d062b3b.zip
      4.1.1 JRO03H OTA: http://android.clients.google.com/p...igned-tervigon-JRO03H-from-IMM76.f85d815e.zip
      Note that the OTA update scripts check properties to see if the device is identified as "wingray". The above linked version of ClockworkMod Recovery identifies itself as "stingray", so you will get assert errors and the installation will fail. You can disable script asserts by using the toggle script asserts menu option (under install zip from sdcard), but keep in mind that this will allow you to install the updates out of order. The other, safer but more labor-intensive option is to edit the updater-script in each package and remove the "wingray" asserts.
    7. Download the current stock OTA update package
      Google hosts the OTA updates for the Motorola XOOM Wi-Fi MZ604 (US). The devices periodically check Google for updates, and when an update has been made available, it will be downloaded (usually to /cache/) with a notification presented to the user.

      The full URL to the update package is output to the device log, which is available via logcat (adb logcat; DDMS; aLogcat app). The full URL can also be constructed from just the filename -- available in the device's /cache/ directory if downloaded, or often by searching the web -- by appending it to the following path:

      Code:
      http://android.clients.google.com/packages/ota/motorola_tervigon/

      In this case, we find that the JZO54K update package's filename is 75baa1719d30.signed-tervigon-JZO54K-from-JRO03H.75baa171.zip, which yields the following URL:

      See also the note on the previous step regarding "wingray" asserts.
    8. Save all stock OTA update packages to the hardware SDCard
      These will be installed via ClockworkMod Recovery later in the procedure.
    9. Connect the XOOM to the workstation via USB
      Also verify that USB debugging is enabled in the settings on the device. The device should show up if the following command is run from a terminal/command prompt:
      Code:
      adb devices
    10. Backup the device
      This process is going to overwrite everything on the device, so backup using whatever method is preferred. ClockworkMod Recovery's Nandroid backup is a great option.
    11. Flash stock images via fastboot
      Unpack the zip file containing the stock HWI69 images into the working directory on the workstation and run the following commands from a terminal/command prompt:
      Code:
      cd <path to working directory>
      adb reboot bootloader
      fastboot flash boot boot.img
      fastboot flash system system.img
      fastboot flash userdata userdata.img
      Keep this terminal/command prompt open, as it will be used further.
    12. Install stock OTA updates via ClockworkMod Recovery
      Reboot after each update to ensure that it completes -- bootloader updates (HMJ37 and HTK55D), for instance, are performed after rebooting -- but ensure the boot sequence is interrupted with the VolDown key and re-enter ClockworkMod Recovery before the boot animation begins, to prevent overwriting with stock recovery.

      Without a bootloader update, press VolDown after waiting a few seconds on the red Motorola logo screen. If there is a bootloader update, however, it gets tricky; after the automatic reboot, wait about 14 seconds on the red logo before pressing VolDown. If nothing happens, reset (Power + VolUp) and try again. If the boot animation begins, try resetting but note that recovery was likely overwritten by stock, requiring a re-flash of ClockworkMod Recovery.

      Repeat this procedure of installing and rebooting until the last update is complete and the device is back into ClockworkMod Recovery.
    13. Perform a nandroid backup in ClockworkMod Recovery
      This generates clean, current stock images with which to work, while also providing an easier starting point for any future mods.
    14. Download and unpack the boot image
      Run the following commands from the terminal/command prompt:
      Code:
      adb pull /sdcard/clockworkmod/backup/<directory name>/boot.img boot-stock.img
      unpack-bootimg boot-stock.img
      This will extract the kernel and ramdisk gzip files into the current directory, with the actual ramdisk files being unpacked into a subdirectory (boot-stock.img-ramdisk).
    15. Modify default.prop in ramdisk
      Open default.prop (located in the ramdisk subdirectory) in the preferred text editor and edit the following properties:
      Code:
      ro.secure=0
      ro.allow.mock.location=1
      ro.debuggable=1
      ro.secure=0 is the most important, for it enables adb to run as root, which is necessary for remounting the system partition as read/write and install su.

      Clean up any temp/backup files the text editor may have created in the ramdisk directory before proceeding.
    16. Repack and flash the modified boot image
      Run the following commands from the terminal/command prompt:
      Code:
      repack-bootimg boot-stock.img-kernel.gz boot-stock.img-ramdisk boot-root.img
      adb reboot bootloader
      fastboot flash boot boot-root.img
      fastboot reboot
      The device should now boot with a rooted boot image.
    17. Install and configure su and Superuser.apk; remove recovery overwrite files
      Remount the system partition as read/write and push the files using the following commands from the terminal/command prompt:
      Code:
      adb remount
      adb push su /system/bin/su
      adb push Superuser.apk /system/app/Superuser.apk
      adb shell
      Once in adb shell, configure the pushed files:
      Code:
      chown root.shell /system/bin/su
      chmod 6755 /system/bin/su
      ln -s /system/bin/su /system/xbin/su
      chmod 644 /system/app/Superuser.apk
      While still in adb shell, remove the recovery overwrite script and patch:
      Code:
      rm /system/etc/install-recovery.sh
      rm /system/recovery-from-boot.p
      reboot
      The device should now boot fully rooted.
    18. Extract the freshly rooted system image
      Run the following command from the terminal/command prompt:
      Code:
      adb shell
      Once in adb shell, dump the system image to the hardware SDCard:
      Code:
      dd if=/dev/block/platform/sdhci-tegra.3/by-name/system of=/storage/sdcard1/system-root.img
      exit
      Once back to the local prompt, pull the image to the working directory:
      Code:
      adb pull /storage/sdcard1/system-root.img
    19. Configure the device and test
      Ensure the device and apps function normally, including root apps.
    20. Identify any updates outside of system and boot partitions (bootloader, userdata, etc.)
      Open all OTA update packages in the preferred ZIP archive manager and go through each updater-script (located in /META-INF/com/google/android/) to determine if any additional updates have been made. This will require some understanding of edify script, which is straightforward and easy to read.

      These additional updates will need to be included in the stock rooted update package in order to ensure safe update from any ROM.
    21. Assemble the update package
      This simple objective here is to package the rooted boot and system images, files for additional updates (if any), the updater-script with commands to perform the update, and any helper tools into an Android update package (essentially a ZIP file).

      While this is a complicated task, it is made easier by starting with existing custom update packages and modifying their contents and script.
    22. Test installation via ClockworkMod Recovery
      Load other ROMS -- stock Honeycomb, custom ROM's, etc. -- and test the update using the procedure in the OP. Note that you may need to reflash ClockworkMod Recovery one final time at this point.
    23. Restore personal device backup; dogfood
      Restore the backup you made prior to flashing the stock images at the beginning of this procedure, and upgrade your device with the package you've built. Bask in glory.
    6
    [size=+1]UPDATE PACKAGE DETAILS (v01)[/size]

    BOOTLOADER: flashed with stock 4.1.2 JZO54K bootloader
    • Extracted from a previous update package (3.2.1 HTK55D)
    • Bootloader flashed after reboot
    Code:
    BCT[4->4] (vendor: 0x101 product: 0x5454 vers: 0x0)
    RECOVERY: not flashed; left intact​

    BOOT: flashed with modded stock 4.1.2 JZO54K boot image with stock kernel
    • Kernel: flashed with stock 4.1.2 JZO54K kernel
      • 2.6.39.4-g4e32b94 android-build@vpbs1 ) #1 SMP PREEMPT Mon Sep 10 14:01:08 PDT 2012
      • Includes no extras (overclocking, etc.) from custom kernels
    • default.prop: modded JZO54K default.prop (ramdisk)
      Code:
      ro.secure=0
      ro.allow.mock.location=1
      ro.debuggable=1
      persist.sys.usb.config=mtp
    SYSTEM: flashed with modded stock 4.1.2 JZO54K system image
    • build.prop: stock 4.1.2 JZO54K build.prop
      Code:
      ro.build.fingerprint=motorola/tervigon/wingray:4.1.2/JZO54K/485486:user/release-keys
      ro.build.description=tervigon-user 4.1.2 JZO54K 485486 release-keys
    • REMOVED: Stock recovery install script, patch
    • ADDED: Superuser.apk 3.1.3 and su binary to enable functioning root (thanks, chainsdd)
    • Hardware SDCard continues to be read-only via documented application permissions (at /storage/sdcard1 as of 4.1.1 JRO03H)
    USERDATA: Launcher favorites updated with new Google Play Store intent (included in stock 4.1.1 JRO03H update from Google)
    • /data/data/com.android.launcher/databases/launcher.db: updated with new Google Play Store intent.
    2
    Works perfectly!

    I finally recovered a fully functional Xoom ... I moved to EOS3 one year ago and then to OmniRom and I don't know why my tablet was almost unusable (maybe I did something wrong when installing them).

    But after reinstalling this 4.1.2 stock rooted version, the tablet works perfectly and stable again.

    I had to modify manually the ro.product.model property in /system/build.prop with a text editor as root (remount /system as rw, edit the file, etc) but It finally installed.

    THANKS!!!!!


    ---------- Post added at 09:32 PM ---------- Previous post was at 09:26 PM ----------


    Answering to charos:

    I reverted the big part.

    Comming from Omnirom 4.4 bigpart, I did:

    1.- Put CyanogenMod 11 stable NON BIG PART and its gapps in the SD CARD (to flash it after repartitioning).

    2.- Follow this tutorial: http://xdaforums.com/showthread.php?t=2669457 (put TWRP 2.6.3.0 non bigpart in the SD card as well).

    3.- Install Cyanogenmod11 non bigpart + gapps before rebooting, so that you can test that the "undo bigpart" procedure worked.

    Now you have undone bigpart and you'll have a working cyanogenmod "non-bigpart". You can continue with THIS thread and flash the 4.1.2 stock-root rom:

    4.- In order to follow THIS thread, I had to boot Cyanogen, install FX File Explorer (because of FX Text Editor) and edit the ro.product.model property in /system/build.prop as root (remounting /system as read-write, etc). You need this because the update.zip file that installs 4.1.2-stock-root only works if that string is "Xoom" and in Cyanogen it is "Xoom Wingray". If you need help on doing all this, ask here.

    5.- Finish this tutorial. I had problems booting but a full wipe (data, etc) solved it.

    6.- Start the Xoom and enjoy a fast and stable 4.1.2. It's worth the effort, really, this rescued my xoom, as it was unusable for the last 6 months ...
    2
    Hi, I am already on stock non-rooted 4.1.2. how do i install it ?

    I've just managed to install this from the stock 4.1.2

    It was a little tricky, but it is possible.

    1. Download the AIO Tool from this thread http://xdaforums.com/showthread.php?t=1468298

    2. Download the update package from the first post of this thread. Put the zip file on your SD Card.

    3. Follow the instructions in the AIO thread to make sure your bootloader is unlocked.

    4. You now need to install the CWM. This is the tricky bit. What worked for me was:

    a. Unzip the contents of the LAIOT zip file to your hard disk.
    b. Go to the folder LAIOT/Recovery
    c. Right-click and hold the shift key down in the directory. Choose 'Open Command Window here'
    d. Make sure your Xoom is on and USB debugging in enabled. connect the Xoom to your PC with a USB cable.
    e. In the DOS window type : adb reboot bootloader
    f. Your Xoom should now reboot and say something on the top line about Fastboot mode
    g. Still in the DOS Window type : fastboot flash recovery CWMTiamat.img
    h. You should now see it flash the recovery and say success
    i. Still in the DOS window type : fastboot reboot
    j. When the Motorola Logo appears press the volume down key, then press the volume up key. You should now be in recovery and able to follow the instruction in this original post from Point 4 in Procedure and flash the zip file.

    That's it, it worked for me. The only thing I found was that if I did not immediately go into recovery after point i. and j. above I has to start the procedure again form point e. above

    After following the above completely and flashing the zip and after a reboot it is possible to go into recovery using j.

    Hope this makes sense. It did work for me.