Проверка раздела 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