Some experience with adb and fastboot preferred (they are part of android SDK)

  1. Download latest factory image from https://developers.google.com/android/nexus/images#occamkrt16o and untar them. The extracted images ends up in occam-krt16o directory.
    tar xvf occam-krt16o-factory-75ccae7a.tgz
  2. Backup
    1. SMS/call log etc. using SMS backup+ to Gmail.
    2. All apks using
      adb backup -f ashishb_nov_15_backup.ab -apk -obb -noshared -all -nosystem
      (I mistakenly backed up and restored with -system and that was a bad idea).
      This takes a bit of time, my total backup size was ~550MB.
  3. Install the new image
    1. Boot into boot loader mode.
      adb reboot-bootloader
    2. Unlock the bootloader, this will delete all data in device (that’s why we took backup in  the first place). This takes about 30 seconds.
      fastboot oem unlock
    3. Install the new boot loader image.
      fastboot flash bootloader bootloader-mako-makoz20i.img
    4. Reboot to use the new bootloader
      fastboot reboot-bootloader
    5. Install the new radio image. This takes about 5 seconds.
      fastboot flash radio radio-mako-m9615a-cefwmazm-2.0.1700.84.img
    6.  Install the new system, recovery and boot image. This takes about 80 seconds.
      fastboot -w update image-occam-krt16o.zip
  4. Restore
    1. All apks (I use Nova Launcher so, it restores my launcher screens as well)
      adb restore ashishb_nov_15_backup.ab
    2. Restore SMS and phone calls.