What is the difference between SAR and A/B?
Introduction:
As some may know in the latest version of Android, AOSP have decided to enforce SAR (System-as-root). This requires OEM's to now ship SAR in any updates to Android 10 for previous devices, in this blog post I am going to use the Mi 8 Lite as an example since it just got an Android 10 beta update from China. Included with this update is system as root which means the kernel's ramdisk is now merged into the root of the system image.
The difference between SAR and A/B:
Before Android 10, SAR would only really exist on devices that shipped on Android 9 or were Pixels which is where they got the "AB" name from since the Pixels have AB partition schemes for their seamless OTA feature (more on that later) but were also the first devices to show off the merge of the kernel ramdisk and system image. In the new Android 10 enforced system as root you are NOT getting AB partition schemes or seamless OTA's, you are just getting the merged ramdisk and system image which means you now have to flash A/B GSI's to match your kernel.
AOSP documentation on system-as-root
AOSP documentation on AB partitions
What does this mean?
Essentially all this means is instead of flashing the generic old A-Only GSI's, after Android 10 you will need to flash an A/B GSI to avoid rebooting and being kicked into fastboot due to the kernel not being able to find a ramdisk, this does not give you seamless OTA's or a new partition scheme but does give you system-as-root and the ramdisk merge.AOSP documentation on system-as-root
AOSP documentation on AB partitions