Android 13 requires support for virtual A/B partitions for ‘seamless updates’
Phones released with Android 13 must support virtual A/B partitions. This makes it possible for all new phones to install and complete updates in the background with just a reboot. That is now not possible on many phones.
It turns out that virtual A/B partitions are mandatory according to Esper from a commit from march stating that those partitions are mandatory for devices launching with Android T; that’s how Google internally designates Android 13. Android 13 came out in a stable version last month, but few new devices have appeared with the new operating system.
Google has been using the A/B partition system since 2016 for “seamless updates” on Pixel phones. The advantage of this is that the system silently installs the updates on the inactive partition, after which the software switches to the updated partition with a reboot. As a result, a telephone cannot be used for a short period of time. Users can also easily roll back updates if problems occur.
The disadvantage of A/B partitions is that it takes up space on the storage. Google has been trying to solve that problem in recent years with virtual partitions and compression. The virtual A/B partitions differ from the non-virtual version by using a ‘super’ partition. As a result, the inactive partition can be empty and thus take up less space. In addition, by compressing the partitions more effectively, files do not have to reside on two partitions at the same time and the space required for system updates is smaller than with regular A/B partitions.
With support for virtual A/B partitions becoming mandatory for new phones and tablets running Android 13 and Google services, the way is open for the use of ‘seamless updates’ on more devices. Samsung, among others, does not yet use the system, even on its latest and most expensive phones.
Space required on Pixel | No A/B | Regular A/B | Virtual A/B | Virtual A/B with compression |
Factory image | 4.5GB | 9GB | 4.5GB | 4.5GB |
Other static partitions | /cache | no | no | no |
Required additional storage during update | 1.4GB | 0 | 3.8GB | 2.1GB |
Total required storage during update | 5.9GB | 9GB | 8.3GB | 6.6GB |
Extra storage compared to ‘no A/B partition’ | 0 | 3.1GB | 2.4GB | 0.7GB |