יישום
מכשירים המונעים על ידי אנדרואיד עם Android 9 ומטה שיש להם מחיצות A/B יכולים להשתמש במחיצת system_other
הלא פעילה (לדוגמה, system_b
כאשר slot_a
פעילה) כדי לאחסן קבצי VDEX/ODEX מותאמים מראש. כאשר נעשה שימוש system_other
, ro.cp_system_other_odex
מוגדר ל-1 עבור שירות מנהל החבילות כדי להגדיר sys.cppreopt=requested
עבור cppreopts.rc
לפעול בהתאם.
באנדרואיד 10,libfs_avb
מוצג כדי לתמוך באימות AVB עצמאי עבור מחיצת system_other
. מבנה VBMeta של מחיצה כזו מצורף לסוף המחיצה, לאימות על ידי מפתח ציבורי צפוי ממערכת הקבצים. מערכת ה-build של Android תומכת בחתימה system_other.img
תוך שהיא כוללת את מפתח החתימה המתאים תחת /product/etc/security/avb/system_other.avbpubkey
. כלי השחרור sign_target_files_apks.py
תומך גם בהחלפת מפתח החתימה לגרסת שחרור.
למכשירי A/B שהושקו לפני Android 10 יש מחיצת system_other
פיזית, גם אם היא משודרגת ל-Android 10 כאשר PRODUCT_RETROFIT_DYNAMIC_PARTITIONS
מוגדר כ- true
.
מכשירי A/B שהושקו עם Android 10 חייבים להיות בעלי מחיצת system_other
לוגית. הדוגמה הבאה מציגה קובץ fstab.postinstall
טיפוסי המאפשר AVB ב- system_other
.
#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> system /postinstall ext4 ro,nosuid,nodev,noexec slotselect_other,logical,avb_keys=/product/etc/security/avb/system_other.avbpubkey
התקנים שצריכים להפעיל את AVB במחיצת system_other
צריכים למקם את קובץ fstab
במחיצת המוצר ולהגדיר את המאפיין ro.postinstall.fstab.prefix
ל- /product
.
# Use /product/etc/fstab.postinstall to mount system_other. PRODUCT_PRODUCT_PROPERTIES += \ ro.postinstall.fstab.prefix=/product PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/fstab.postinstall:$(TARGET_COPY_OUT_PRODUCT)/etc/fstab.postinstall