OEM AB bölümü güncellemeleri

SDV, özel /oem_ab bölümü için A/B güncellemelerini etkinleştirir. Özel /oem_ab bölümü için güncellemeleri tetiklemek ve geri almak üzere OEM AB Updater kitaplığını kullanın. Bu kitaplık, Android sistemi A/B güncellemelerine benzer özelliklere sahiptir.

system/software_defined_vehicle/samples/oem_partition_update_client adresinde OEM AB Updater kitaplığı uygulamasının örnek kodunu inceleyin.

Kılavuzda, OEM AB Updater kitaplığının nasıl kullanılacağı ve kendi Updater hizmeti uygulamanızla nasıl entegre edileceği açıklanmaktadır. Bu kılavuzda, değişikliklerinizi derlemek ve test etmek için Cuttlefish'i kullandığınız varsayılmaktadır.

Kütüphanenin konumu

OEM AB Updater kitaplığı system/software_defined_vehicle/platform/oem dizinindedir.

Gerekli özel görüntüleri oluşturma

OEM AB Updater kitaplığı için birkaç özel görüntü gerekir. Bu resimler device/google/sdv/sdv_core_base/oem_ab/oem_ab.mk ve device/google/sdv/sdv_core_base/oem_ab/oem_ab_metadata.mk içinde tanımlanır.

oem_ab.mk ve oem_ab_metadata.mk içinde tanımlanan gerekli özel görüntüler, hedef oluşturulduğunda oluşturulur. Örneğin, sdv_core_cf derlemesi şu bölüm resimlerini oluşturur:

source build/envsetup.sh
lunch sdv_core_cf-aosp_current-userdebug
m

Özel blok cihazları belirtme

Cuttlefish lunch hedefinizin, blok cihazları ilgili bootconfig özelliğiyle eşlemek için BOARD_BOOTCONFIG değerini ayarladığını doğrulayın. Örneğin, device/google/sdv/sdv_core_cf/BoardConfig.mk sayfasına bakın.

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

Yeni bir sanal makine başlatma

Blok cihazların eşlendiğini doğruladıktan sonra üç özel görüntüyle yeni bir sanal makine oluşturun:

cvd create --custom_partition_path="$OUT/oem_ab.img;$OUT/oem_ab.img;$OUT/oem_ab_metadata.img"

Yeni bir hizmette OEM AB Updater kitaplığını kullanma

Kitaplığı başka bir hizmette kullanmak için:

  1. sdv_oem_updater::OemUpdater sandığını system/software_defined_vehicle/samples/oem_partition_update_client/oem_partition_client.rs bölümünde gösterildiği gibi içe aktarın.

  2. device/google/sdv/sdv_core_cf/sepolicy/product/private/oem_partition_client.te içinde tanımlanan SELinux politikalarına benzer yeni bir .te politikası oluşturun.