עדכונים במחיצות A/B של OEM

‫SDV מאפשר עדכוני A/B למחיצה /oem_ab בהתאמה אישית. משתמשים בספרייה OEM AB Updater כדי להפעיל עדכונים למחיצה המותאמת אישית /oem_ab ולהחזיר אותם למצב הקודם, עם יכולות דומות לעדכוני A/B של מערכת Android.

אפשר לראות את הקוד לדוגמה להטמעה של ספריית OEM AB Updater בכתובת system/software_defined_vehicle/samples/oem_partition_update_client.

במדריך מוסבר איך להשתמש בספריית OEM AB Updater ולשלב אותה בהטמעה של Updater Service. במדריך הזה אנחנו יוצאים מנקודת הנחה שאתם משתמשים ב-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-aosp_current-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

הפעלת מכונה וירטואלית חדשה

אחרי שמוודאים שהתקני הבלוקים ממופים, יוצרים מכונה וירטואלית חדשה עם שלוש התמונות בהתאמה אישית:

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

שימוש בספריית OEM AB Updater בשירות חדש

כדי להשתמש בספרייה בשירות אחר:

  1. מייבאים את ה-crate של sdv_oem_updater::OemUpdater כמו שמוצג ב-system/software_defined_vehicle/samples/oem_partition_update_client/oem_partition_client.rs.

  2. יוצרים מדיניות .te חדשה שדומה למדיניות SELinux שמוגדרת ב-device/google/sdv/sdv_core_cf/sepolicy/product/private/oem_partition_client.te.