SDV active les mises à jour A/B pour la partition /oem_ab personnalisée. Utilisez la bibliothèque OEM AB Updater pour déclencher et annuler les mises à jour de la partition /oem_ab personnalisée, avec des fonctionnalités similaires aux mises à jour A/B du système Android.
Consultez l'exemple de code pour une implémentation de la bibliothèque de l'outil de mise à jour AB OEM dans system/software_defined_vehicle/samples/oem_partition_update_client.
Ce guide explique comment utiliser la bibliothèque OEM AB Updater et l'intégrer à votre propre implémentation du service Updater. Ce guide suppose que vous utilisez Cuttlefish pour créer et tester vos modifications.
Emplacement de la bibliothèque
La bibliothèque OEM AB Updater se trouve dans le répertoire system/software_defined_vehicle/platform/oem.
Créer les images personnalisées requises
La bibliothèque OEM AB Updater nécessite plusieurs images personnalisées. Ces images sont définies dans device/google/sdv/sdv_core_base/oem_ab/oem_ab.mk et device/google/sdv/sdv_core_base/oem_ab/oem_ab_metadata.mk.
Les images personnalisées requises définies dans oem_ab.mk et oem_ab_metadata.mk sont créées lors de la compilation de la cible. Par exemple, la compilation de sdv_core_cf crée les images de partition :
source build/envsetup.sh
lunch sdv_core_cf-aosp_current-userdebug
m
Spécifier des appareils de stockage en mode bloc personnalisés
Vérifiez que votre cible Cuttlefish lunch définit BOARD_BOOTCONFIG pour mapper les appareils de stockage en mode bloc à la propriété bootconfig correspondante. Par exemple, consultez device/google/sdv/sdv_core_cf/BoardConfig.mk.
BOARD_BOOTCONFIG += \
androidboot.sdv.oem_slot_a_device=/dev/block/by-name/custom \
androidboot.sdv.oem_slot_b_device=/dev/block/by-name/custom_1
Démarrer une nouvelle VM
Après avoir vérifié que les appareils de stockage en mode bloc sont mappés, créez une VM avec les trois images personnalisées :
cvd create --custom_partition_path="$OUT/oem_ab.img;$OUT/oem_ab.img;$OUT/oem_ab_metadata.img"
Utiliser la bibliothèque OEM AB Updater dans un nouveau service
Pour utiliser la bibliothèque dans un autre service :
Importez la caisse
sdv_oem_updater::OemUpdatercomme indiqué danssystem/software_defined_vehicle/samples/oem_partition_update_client/oem_partition_client.rs.Créez une règle
.tesemblable aux règles SELinux définies dansdevice/google/sdv/sdv_core_cf/sepolicy/product/private/oem_partition_client.te.