system_other bölümü doğrula

Uygulama

Android 9 ve önceki sürümlerin yüklü olduğu ve A/B bölümü bulunan Android destekli cihazlar, önceden optimize edilmiş VDEX/ODEX dosyalarını depolamak için etkin olmayan system_other bölümünü (örneğin, system_betkinken slot_a) kullanabilir. system_other kullanıldığında, paket yöneticisi hizmeti için ro.cp_system_other_odex, cppreopts.rc tarafından işlem yapılması için sys.cppreopt=requested olarak ayarlanır.

Android 10'da, system_other bölümü için bağımsız AVB doğrulamasını desteklemek amacıyla libfs_avb tanıtıldı. Bu tür bir bölümün VBMeta yapısı, dosya sistemindeki beklenen ortak anahtar tarafından doğrulanması için bölümün sonuna eklenir. Android derleme sistemi, /product/etc/security/avb/system_other.avbpubkey altında ilgili imzalama anahtarını ekleyerek system_other.img imzalamayı destekler. sign_target_files_apks.py yayınlama aracı, imzalama anahtarının bir sürüm sürümüyle değiştirilmesini de destekler.

PRODUCT_RETROFIT_DYNAMIC_PARTITIONS, true olarak ayarlanmış ve Android 10'a yükseltilmiş olsa bile Android 10'dan önce kullanıma sunulan A/B cihazlarda fiziksel bir system_other bölümü bulunur.

Android 10 ile kullanıma sunulan A/B cihazlarda mantıksal system_other bölümü olmalıdır. Aşağıdaki örnekte, system_other üzerinde AVB'yi etkinleştiren tipik bir fstab.postinstall dosyası gösterilmektedir.

#<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 bölümünde AVB'nin etkinleştirilmesi gereken cihazlar, fstab dosyasını ürün bölümüne yerleştirmeli ve ro.postinstall.fstab.prefix özelliğini /product olarak ayarlamalıdır.

# 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