Android Nougat Source Code For Pixel Phones Reveals Dual Partition Setup, Dual Booting, Seamless Custom ROM Updates
When Google announced Android Nougat, one of the interesting features revealed is seamless updates. The purpose of this is to change how updates are delivered and installed, as many users neglect to bother checking for updates. Unfortunately, seamless updates would only be present on new devices that ship with Android Nougat. This caused disappointment in many users as old devices that will received Android Nougat through update will not have seamless update enabled (sorry Nexus users). Although we have some basic idea on how it works (which you can read here), more details have emerged now.
XDA-Developers member and Team Win Recovery Project lead Ethan Yonker dug into some Android Nougat source code, which revealed inner workings of Nougat's seamless update. The source code belongs to Google's upcoming Pixel phones and it reveals some interesting changes made to the partition layout. Basically, "Pixel phones will have 2 system partitions, 2 boot partitions, 2 vendor partitions, 2 modem partitions, etc.".
In previous Android version, user have to sit through several minutes of watching the Android recovery logo during an update. This is to prevent any potential issues from the Android operating system attempting to access a file that is currently being updated. However, starting from Android Nougat, the update process works differently. When it is time for an update, the secondary system partition is updated, and the next time you reboot it will become primary while the other becomes secondary. This means no more staring at the Android recovery logo for end users and
When an update is published, the update will be applied to the second set in the background. Once the update has been applied, a prompt will appear asking to reboot. The reboot will not include booting to recovery. Instead, the device will switch which set of partitions are used to the second set and you will quickly, perhaps nearly instantly, boot an updated device.
If you wonder how it helps dual booting, then here is the answer. According to Ethan, ROM developers can theoretically hijack the second set of partitions to dual-boot. Previously, dual booting is risky and works only on few selected devices. However, with a second set of partitions to work with, we may be able to get dual-boot running on the Pixel phones with some cooperation between various members of the ROM community. In addition, custom ROM developers can also be able to implement seamless updates as well.
Of course the whole scenario is currently theoretical and is based on the source code of Android Nougat for Google's Pixel phones. In practice there could be various roadblocks in using both partition in the devices. Ethan further adds that while looking into the source code, he also found lot of changes that complicate development on upcoming Pixel devices.
We may know more details in the coming days as ROM developers will be all over the source code and even more when we get some native Nougat hardware.