[Android Q&A, Help & Troubleshooting] keysersoza42:
Asus TF103C update.zip

UPDATE: Link to system.img

goo.gl/Oz2X7o

Honestly all i did was follow the normal steps to do a side load. One thing to make sure of is that you have the correct version of the firmware; BBY, WW, etc. When you first download it it is a Zip file in a zip file so the second one is the one you need to side load. To step this out:

1) Download from Asus the correct update. If you dont know which version you have you can boot into the bootloader and one of the versions will say BBY, WW, etc...

2) Unzip the contents of the download from Asus. This should be another zip file.

3) Boot into recovery. If you get the 'dead android' press and hold vol down for about 5 seconds then press vol up.

4) In recovery enter sideload mode

5) adb sideload innerUpdate.zip file (the zip file you unzipped from the downloaded file).

6) works???

This is what worked for me. The other option is to fastboot a system.img. This is hard b\c Asus doesnt release them and when i dd'ed a system image off of the partition it wouldn't load. I did however find a way to get a system image on there through fastboot. If it comes down to this let me know and ill post more on it. Good luck!

---------- Post added at 08:55 PM ---------- Previous post was at 08:36 PM ----------

Sorry this is old, but just a couple of weeks ago i got the fastboot system.img to load. Here are the steps I did to produce this.

Some times its helpful to unpack a system image and/or repack to be flashed to an android device. For example the Asus tf103c required special compressing for parsing.

Tools you will need:

simg2img

make_ext4fs

Windows

SparseConverter_1.0.0.exe

Note: There were system.img files that were pulled directly from a rooted device using dd. These images would always give an error (flash_cmds_error!) while trying to write the image even if it had been compressed. The only way I got around this was to mount and unpack an image known to flash correctly (in my case the Intel BayTrail image from the intel android repo). The replace the contents with what every you wish to be in there (in my case the system folder from the Asus update.zip). The limitation here is you are limited to the size of the original flashable .img. Usually you can remove odex files to get around this and push those later if needed.

For the Asus images the NFC was removed from the list of features b\c it didnt have NFC which resulted in the settings app to crash during onCreate. These files were removed from the system directory.

/system/etc/permission/*.nfc*

Step-by-step guide

Steps 1-6 may be done in linux but step 7 and 11-15 must be done in windows.

In your workspace create a dir. mkdir sys

./simg2img system.img sys.raw

If you get : "Invalid sparse file format at header magi Failed to read sparse file"

You must decompress the image first with SparseConverter.

go to step 9 except replace 14 with this: SparseConverter.exe /decompress [.img to decompress] [.img to write to] then return to this step and continue.

SparseConverter.exe /decompress E:\system.img_sparsechunk1 D:\system.img

sudo mount -t ext4 -o loop sys.raw sys/

sudo ./make_ext4fs -s -l 1638M -a system new.img sys/

Note: The size needs to change depending on how big of an im age it is.

You may try to push the image as is, but if you get a "Invalid Sparse File Format At Header Magi" you have a compression error in the system image and can not be separated properly.

In windows open a command prompt window

Navigate to the SparseConverter_1.0.0.exe

SparseConverter.exe /compress [.img to compress] [.img to write to] [size in MB]

SparseConverter.exe /compress D:\system.img E:\ 256MB

Good Luck!