SDV ช่วยให้สามารถอัปเดต A/B สำหรับพาร์ติชัน /oem_ab ที่กำหนดเอง ใช้ไลบรารี OEM AB
Updater เพื่อทริกเกอร์และย้อนกลับการอัปเดตสำหรับ/oem_ab
พาร์ติชันที่กำหนดเอง โดยมีความสามารถคล้ายกับการอัปเดต A/B ของระบบ Android
ดูโค้ดตัวอย่างสำหรับการติดตั้งใช้งานไลบรารีโปรแกรมอัปเดต A/B ของ OEM ได้ใน
system/software_defined_vehicle/samples/oem_partition_update_client
คู่มือนี้อธิบายวิธีใช้ไลบรารี OEM AB Updater และผสานรวมกับ การติดตั้งใช้งานบริการอัปเดตของคุณเอง คู่มือนี้ถือว่าคุณใช้ Cuttlefish เพื่อสร้างและทดสอบการเปลี่ยนแปลง
สถานที่ตั้งของห้องสมุด
ไลบรารี OEM AB Updater อยู่ในไดเรกทอรี
system/software_defined_vehicle/platform/oem
สร้างรูปภาพที่กำหนดเองที่จำเป็น
ไลบรารี OEM AB Updater ต้องใช้รูปภาพที่กำหนดเองหลายรูป รูปภาพเหล่านี้กำหนดไว้ใน device/google/sdv/sdv_core_base/oem_ab/oem_ab.mk
และ device/google/sdv/sdv_core_base/oem_ab/oem_ab_metadata.mk
ระบบจะสร้างอิมเมจที่กำหนดเองที่จำเป็นซึ่งกำหนดไว้ใน oem_ab.mk และ oem_ab_metadata.mk เมื่อสร้างเป้าหมาย เช่น การสร้าง sdv_core_cf จะสร้างอิมเมจพาร์ติชันต่อไปนี้
source build/envsetup.sh
lunch sdv_core_cf-trunk_staging-userdebug
m
ระบุอุปกรณ์ที่บล็อกที่กำหนดเอง
ตรวจสอบว่าเป้าหมาย Cuttlefish lunch ตั้งค่า BOARD_BOOTCONFIG เพื่อแมปอุปกรณ์บล็อกกับพร็อพเพอร์ตี้ bootconfig ที่เกี่ยวข้อง เช่น ดูที่
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
เริ่ม VM ใหม่
หลังจากยืนยันว่าได้แมปอุปกรณ์บล็อกแล้ว ให้สร้าง VM ใหม่โดยใช้ อิมเมจที่กำหนดเอง 3 รายการ
cvd create --custom_partition_path="$OUT/oem_ab.img;$OUT/oem_ab.img;$OUT/oem_ab_metadata.img"
ใช้ไลบรารี OEM AB Updater ในบริการใหม่
วิธีใช้คลังในบริการอื่น
- นำเข้าลัง
sdv_oem_updater::OemUpdaterตามที่แสดงในsystem/software_defined_vehicle/samples/oem_partition_update_client/oem_partition_client.rs
. Create a new.tepolicy similar to the SELinux policies defined indevice/google/sdv/sdv_core_cf/sepolicy/product/private/oem_partition_client.te