ยืนยันพาร์ติชัน system_other

การใช้งาน

อุปกรณ์ที่ขับเคลื่อนโดย Android ที่ใช้ 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 เพื่อดำเนินการ

ใน Android 10 ระบบจะเปิดตัว libfs_avb เพื่อรองรับการยืนยัน AVB แบบสแตนด์อโลนสำหรับพาร์ติชัน system_other โครงสร้าง VBMeta ของพาร์ติชันดังกล่าวจะต่อท้ายพาร์ติชันเพื่อรับการยืนยันจากคีย์สาธารณะที่คาดไว้จากระบบไฟล์ ระบบบิลด์ 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