It was Sunday, November 16, 2014 and my Nexus 7 still hadn't updated to the newest version of Android version 5.0 -- known to most of us as Lollipop. For the past week, I'd been habitually checking to see if my tablet was marked with favor by the fickle gods of OS updates -- repeatedly tapping the Check now button in Settings like a lab rat addicted to experimental drugs. Nope, try again -- though I was helpfully informed countless times that I had "last checked for an update" an hour earlier.
This message was the latest in a series of pockmarked milestones punctuating a tiresome, angst ridden journey on the expressway to hell. I'd racked up some serious mileage on this road, and as far as I could tell, it was headed straight to a place I wished to avoid, a land known as "frustration and annoyance." It was time to find an off-ramp.
So, I then decided to take matters into my own hands, drive off the beaten path -- take the road less travelled -- and update my tablet the old school way: manually.
So, If you want to install Lollipop on your tablet or phone manually like I did, you should first ensure it is set up for remote debugging. You will also need the Android Debug Bridge (adb) tools installed on your machine. And for Linux users, I have detailed instructions on how to install adb here. For those wishing the encapsulated version, I downloaded jdk-8u5-linux-i586.tar.gz from Oracle's JDK page and extracted its contents into the /usr/lib/java folder. I then added the highlighted text shown in the image below at the end of /etc/profile.
Finishing up the task, I grabbed the Eclipse+Android Development Tools; this includes adb as part of the installed bundle.
Finding a factory image
Because a fresh Android image didn't seem too worrisome, I decided to get the "factory image" of Android Lollipop for the Nexus 7 found on Google's developer page. My Nexus 7 is a 2012 Wi-Fi model.
(An easy way to tell the model year of a Nexus is to look at the back of the tablet, holding it in portrait orientation. If the word "nexus" can be read from left to right, it is a 2012 model; otherwise it is a newer Nexus 7.)
I have the Nexus 7 from 2012, so I download the Android 5.0 image appropriate for my device, saving the file in /root/downloads/lollipop.
Next I connected my Nexus to my Linux box with a USB cable. I then opened terminal, and typed these commands:
# cd downloads/lollipop/
# tar xvzf nakasi-lrx21p-factory-93daa4d3.tgz
# cd nakasi-lrx21p
# adb reboot bootloader
My Android tablet woke up and displayed the screen image below during this process -- a normal occurrence.
Next I entered this command:
# fastboot oem unlock
At this point my tablet prompted me, asking permission to Unlock bootloader. I selected Yes using the volume buttons, and hit the power button to continue.
Lastly, I ran the ./flash-all.sh script. Please note, if you run this script, your existing Android OS and all of the personal files saved on your phone or tablet will be lost, overwritten with Android Lollipop.
This script took a bit of time to go through its paces, and, after it is done, a colored circles animation started on the tablet screen, lasting around 10-15 minutes. During the animation, Android performed configuration and miscellaneous setup tasks. The animation stopped, and I entered my Google account information to begin the sign-in process.
Finally, I verified the installed OS was indeed Lollipop, opening the Settings app, tapping the About tablet option. I was happy.
This article is published as part of the IDG Contributor Network. Want to Join?