التحقق من قسم 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