सत्यापन system_other विभाजन

कार्यान्वयन

एंड्रॉइड 9 और उससे नीचे के एंड्रॉइड-संचालित डिवाइस जिनमें ए/बी विभाजन हैं, वे पूर्व-अनुकूलित VDEX/ODEX फ़ाइलों को संग्रहीत करने के लिए निष्क्रिय system_other विभाजन (उदाहरण के लिए, system_b जब slot_a सक्रिय है) का उपयोग कर सकते हैं। जब system_other उपयोग किया जाता है, तो पैकेज प्रबंधक सेवा के लिए ro.cp_system_other_odex को 1 पर सेट किया जाता है ताकि cppreopts.rc पर कार्य करने के लिए sys.cppreopt=requested सेट किया जा सके।

एंड्रॉइड 10 में, system_other विभाजन के लिए स्टैंडअलोन AVB सत्यापन का समर्थन करने के लिएlibfs_avb पेश किया गया है। ऐसे विभाजन की VBMeta संरचना को फ़ाइल सिस्टम से अपेक्षित सार्वजनिक कुंजी द्वारा सत्यापित करने के लिए, विभाजन के अंत में जोड़ा जाता है। एंड्रॉइड बिल्ड सिस्टम /product/etc/security/avb/system_other.avbpubkey के अंतर्गत संबंधित साइनिंग कुंजी को शामिल करते हुए system_other.img पर हस्ताक्षर करने का समर्थन करता है। रिलीज़ टूल sign_target_files_apks.py साइनिंग कुंजी को रिलीज़ संस्करण में बदलने का भी समर्थन करता है।

Android 10 से पहले लॉन्च किए गए A/B डिवाइस में एक भौतिक system_other विभाजन होता है, भले ही इसे PRODUCT_RETROFIT_DYNAMIC_PARTITIONS के साथ true पर सेट करके Android 10 में अपग्रेड किया गया हो।

एंड्रॉइड 10 के साथ लॉन्च किए गए ए/बी उपकरणों में एक तार्किक system_other विभाजन होना चाहिए। निम्नलिखित उदाहरण एक विशिष्ट fstab.postinstall फ़ाइल दिखाता है जो system_other पर AVB को सक्षम करता है।

#<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

जिन डिवाइसों को system_other विभाजन पर AVB सक्षम करने की आवश्यकता है, उन्हें 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