system_other विभाजन की पुष्टि करें

लागू करना

Android 9 और उससे पहले के वर्शन वाले Android डिवाइसों में A/B पार्टीशन होते हैं. इन डिवाइसों में, पहले से ऑप्टिमाइज़ की गई VDEX/ODEX फ़ाइलों को सेव करने के लिए, इनऐक्टिव system_other पार्टीशन का इस्तेमाल किया जा सकता है. उदाहरण के लिए, system_b के चालू होने पर slot_a. system_other का इस्तेमाल करने पर, पैकेज मैनेजर सेवा के लिए ro.cp_system_other_odex को 1 पर सेट किया जाता है, ताकि cppreopts.rc पर कार्रवाई करने के लिए sys.cppreopt=requested को सेट किया जा सके.

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

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

Android 10 के साथ लॉन्च किए गए A/B डिवाइसों में, लॉजिकल system_other पार्टीशन होना चाहिए. यहां दिए गए उदाहरण में, एक सामान्य fstab.postinstall फ़ाइल दिखाई गई है, जो 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

जिन डिवाइसों को 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