(This is a resource document. Links to existing information are provided below.)
Yesterday I took another step in my understanding and experience with the Acer A500 Android tablet. The result is a custom bootloader, recovery loader and Android 4.0.3 Ice Cream Sandwich (ICS) operating system.
In the process I dug and read through every resource I could find, trying to get a firmer grasp on what the component parts of the OS puzzle were and how they worked together to make the machine do what it does.
The goal was to take the A500 from Android 3.2 (Honeycomb) to 4 (Ice Cream Sandwich). I had long ago rooted and upgraded the version of Honeycomb (HC) that came stock from Acer.
As always, I reap the benefit of the work of others in the Open Source development world. I am not a programmer, although I wish I were. But I am capable enough to read and follow instructions, and able to figure out when those instructions are incomplete or erroneous. It is that skill that has kept me out of trouble and allowed me to feel like I’m at least keeping up.
Here are some of the more valuable resources I’ve discovered in my search. I share them so you don’t have to wade through the hundreds of useless posts and search links like I did. Good luck, and remember, if you do one thing wrong, you can turn your $400.00 tablet into a useless chunk of glass, metal and plastic.
Resources from my research:
- A well-written Glossary of important terms: http://a500apx.candyfloss.tk/FAQ/ The table on this page answers a million questions about the acronyms everyone uses.
- Wikipedia: Android version history This is basic to doing anything with Android operating systems.
- Wikipedia: NAND Flash Memory You will run across the term “Nandroid backup” frequently. This helps you understand what that is.
- The post that got me started researching. XDA-developers Forum. By ‘civato’, these instructions and utilities are all written with Windows in mind. I don’t even have a Windows machine in the house (I do have XP in Virtualbox). I felt like if I kept digging I could figure out how to do this in Linux.
- A full explanation of “adb”: Android Debug Bridge. As you read through the forums and such, you will run across references to ‘using adb to push’ this or ‘pull’ that. ADB is a command-line utility that comes with a toolkit for Eclipse, which is a Java programming environment. You can do a lot with ‘adb’, both good and bad. It gives you a lot of control over your Android device and allows you to really screw things up in a hurry.
- Android Developers: More general info, not specifically related to what we are doing here, but if you have some time on your hands, it’s a great way to spend a few hours learning about Java and Android.
- The DOS Batch File: This file provided me more pertinent information than probably any other single source. It comes from “A500-G100W-ICS_V4_HC_BOOTLOADER-MULTI-CWM.zip” which is the archive downloaded from the XDA-Dev post by ‘civato’ listed above. That archive contains the unlocked bootloader and the recovery images that get flashed to the tablet’s NAND memory. This batch file does all that for you, if you want.
- The Linux post: This post on XDA-Dev gave me the last little bit of data I needed to feel secure in moving ahead and trying it. It also contained a link to an archive containing the version of nvflash (executable) that I used to get everything done.
I never stop learning. If someone built it, I fundamentally believe I can take it apart and put it back together again. The challenge is the fun. I sometimes mess things up, but it is very rare that happens. It’s because I’m careful and I remember the words of Dirty Harry: “A man’s got to know his limitations.”
If you are in touch with your limitations, and if you are willing to take a reasonable risk, there’s very little you can’t do. Push on.