ยืนยันพาร์ติชัน 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