कार्यान्वयन
एंड्रॉइड 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