I cannot find any information on this when I search for it, so I figured I would ask here. I'm curious about the process by which an Android device is updated. Are system updates written to a location in the internal memory that the bootloader reads them from? Or does the kernel overwrite the boot and system partitions while running in RAM? How are downgrades prevented from occurring? By way of a counter that is stored somewhere in the internal memory?

  • System updates gets stored in the cache partition, the device then is booted into the stock Recovery which flashes the files on the intended partitions, reboot and done. – Firelord Nov 17 '15 at 6:25
  • @Firelord Then how is the recovery partition updated? – Melab Nov 17 '15 at 10:06
  • Boot the Recovery into RAM, un-mount the Recovery partition if it is still unmounted, and then flash the partition with new Recovery. A Recovery is not a big file and can be loaded into any low-end to high-end device's memory. – Firelord Nov 17 '15 at 15:12
  • @Firelord I'm not asking for instructions. Millions of Android devices use OTA upgrades, with the user not doing anything other than pressing "Install". Obviously, these updates must also update the recovery partition, so I want to know how the system itself does that. – Melab Nov 17 '15 at 17:01
  • 1
    You didn't get my point. All I'm saying is after downloading the OTA update in the cache partition, the system can boot into Recovery mode with Recovery loaded into RAM (which it always does I suppose) thereby giving it full freedom to flash the downloaded update in partitions including the Recovery one. – Firelord Nov 17 '15 at 17:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.