hikey960: Enable Virt-A/B on HiKey960
Following again in Amit's footsteps, this implements virtual A/B
in the same fashion as Amit's patch for db845c:
https://android-review.googlesource.com/c/device/linaro/dragonboard/+/1547736
As the bootloader doesn't support the slot_suffix, we fix it to
_a statically in the boot args.
Signed-off-by: John Stultz <john.stultz@linaro.org>
Change-Id: I80079d8eeb2635fece1f0f5f24eeaeff3a1c53db
diff --git a/fstab.ramdisk960 b/fstab.ramdisk960
index 6192881..098386d 100644
--- a/fstab.ramdisk960
+++ b/fstab.ramdisk960
@@ -1,4 +1,4 @@
-system /system ext4 noatime,ro,errors=panic wait,logical,first_stage_mount
-vendor /vendor ext4 noatime,ro,errors=panic wait,logical,first_stage_mount
-system_ext /system_ext ext4 noatime,ro,errors=panic wait,logical,first_stage_mount
-product /product ext4 noatime,ro,errors=panic wait,logical,first_stage_mount
+system /system ext4 noatime,ro,errors=panic wait,logical,first_stage_mount,slotselect
+vendor /vendor ext4 noatime,ro,errors=panic wait,logical,first_stage_mount,slotselect
+system_ext /system_ext ext4 noatime,ro,errors=panic wait,logical,first_stage_mount,slotselect
+product /product ext4 noatime,ro,errors=panic wait,logical,first_stage_mount,slotselect
diff --git a/hikey960/BoardConfig.mk b/hikey960/BoardConfig.mk
index 789b18f..0cd9914 100644
--- a/hikey960/BoardConfig.mk
+++ b/hikey960/BoardConfig.mk
@@ -10,7 +10,7 @@
BOARD_KERNEL_CMDLINE := androidboot.hardware=hikey960 firmware_class.path=/vendor/firmware efi=noruntime init=/init
BOARD_KERNEL_CMDLINE += androidboot.boot_devices=soc/ff3b0000.ufs
-BOARD_KERNEL_CMDLINE += loglevel=15
+BOARD_KERNEL_CMDLINE += loglevel=15 androidboot.slot_suffix=_a
ifeq ($(TARGET_BUILTIN_EDID), true)
BOARD_KERNEL_CMDLINE += drm_kms_helper.edid_firmware=edid/1920x1080.bin
diff --git a/hikey960/device-hikey960.mk b/hikey960/device-hikey960.mk
index f1946ee..d901035 100644
--- a/hikey960/device-hikey960.mk
+++ b/hikey960/device-hikey960.mk
@@ -14,6 +14,16 @@
# limitations under the License.
#
+# Enable Virtual A/B
+AB_OTA_UPDATER := true
+AB_OTA_PARTITIONS += \
+ product \
+ system \
+ system_ext \
+ vendor
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk)
+
PRODUCT_COPY_FILES += $(TARGET_PREBUILT_KERNEL):kernel \
$(TARGET_PREBUILT_DTB):hi3660-hikey960.dtb