אימות מחיצת system_other

יישום

מכשירים המונעים על ידי אנדרואיד עם 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