06
Apr 17

What I do to keep the Google Pixel’s Android OS up to date

As an ever vigilant pursuer of the most modern yet stable – oh the paradox – software for my daily carry mobile device, I sprung for the Google Pixel around seven months ago.  Having received it five-ish months ago – like most everyone else I waited forever from order / wait to in-hand – I immediately rooted it. Thereby effectively paving the way for continuing my hobby of riding the edge of brick-dom by manually flashing firmware updates. OTA updates don’t work for us hackers.

As any Google branded device owner will attest, the monthly Android OS updates are a tremendous perk over the other guys.  So, with my rooted Pixel, these very updates have become a monthly trial.  Albeit considering my previous LG and Samsung devices, this trial continues to be more or less safe – no more bootloader unlock dev community goodluckery.  Indeed, the practice is relatively routine now that I’ve performed it four such times, and put together a set of instructions that outlines the generalities as well as the odd foibles involved.

Do note that I decided to keep stock recovery awhile back; I forget the posts that convinced me of this, though many safely use TWRP as their primary recovery.  With that said, the rest of this has worked very well for me, whom simply needs root, and doesn’t want to reset from factory every update.  Perhaps this step-by-step – to update to the latest android, root, and keep stock recovery – will help others.  Please have a working adb install and your bootloader unlocked before hand.

  1. Download latest image for your pixel variant — sailfish for 5″, marlin for 5.5″(developers.google.com)
  2. Unzip the image, and edit flash-all(.bat or .sh – depending on your environment) and remove -w flag to prevent the wiping of all your data.
  3. Enable USB debugging (in developer options)
  4. From CLI, execute: adb reboot bootloader, then when you see the exposed android: flash-all.(bat/sh)
  5. WAIT for it to do its thing!  The process doesn’t give much feedback between steps.  Do not ctrl+c. This may take five to 10 minutes where it looks like nothing is happening. The phone will reboot several times, you’ll get a bunch of ‘OKAY’ output in your cmd terminal.  Afterwards you’ll be upgraded (w/o root); go check ‘About Phone’ after login (and also to let the upgrade finish after boot) to confirm android version change.
  6. Download TWRP (for pixel / android oreo)
  7. Download SuperSU (v2.82 – SR5)
  8. Copy the supersu zip file to your device
  9. adb reboot bootloader then fastboot boot <twrp.img>
  10. Install / flash the supersu zip, then reboot
  11. And you are rooted running Android O.

Begin optional stuff, for the restless.

  1. Install SuperSU Hide by fastbooting back into the previous twrp image and flashing the suhide zip from (here)
  2. FYI, you can get to the bootloader through these manual commands (as opposed to adb reboot bootloader) — with phone off, turn phone back on holding volume down + power buttons
  3. Flash other stuff custom kernel, busybox, magisk, etc and whatever other root things you may desire

Tethering / Hot Spot capability is all but required for most folks these days.  With root, these are the basic steps to disable the bullshit carrier impositions on my “unlimited data” plan.

$ adb shell
$ su
# mount -o rw,remount /system
# echo "net.tethering.noprovisioning=true" >> /system/build.prop
# settings put global tether_dun_required 0

then, reboot and profit (by keeping your ~$150/year for the privilege of using your data plan how you choose.)

Disclaimer: I am NOT responsible if your brick your phone.  Seriously, this isn’t for the meek, it voids your warranty and scares your children.

Updated for November ’17 release of Android (Oreo)