Como verificar a partição system_other

Implementação

Dispositivos com Android 9 e versões anteriores que têm partições A/B podem use a partição system_other inativa (por exemplo, system_bquando slot_a estiver ativo) para armazenar dados pré-otimizados arquivos VDEX/ODEX. Quando system_other é usado, ro.cp_system_other_odex é definido como 1 para o gerenciador de pacotes serviço para definir sys.cppreopt=requested para cppreopts.rc de agir.

No Android 10, o libfs_avb foi introduzido para oferecer suporte à verificação AVB autônoma para o system_other. O struct VBMeta dessa partição é anexado ao final da partição, para ser verificado por uma chave pública esperada; do sistema de arquivos. O sistema de build do Android oferece suporte a assinaturas system_other.img ao incluir a chave de assinatura correspondente abaixo de /product/etc/security/avb/system_other.avbpubkey. O lançamento a ferramenta sign_target_files_apks.py também oferece suporte à substituição da para uma versão de lançamento.

Os dispositivos A/B lançados antes do Android 10 têm uma conexão física system_other, mesmo que seja atualizado para o Android 10 com O valor PRODUCT_RETROFIT_DYNAMIC_PARTITIONS foi definido como true.

Os dispositivos A/B iniciados com o Android 10 precisam ter uma lógica system_other. O exemplo a seguir mostra Arquivo fstab.postinstall que ativa o AVB em 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

Dispositivos que precisam ativar o AVB na partição system_other precisa colocar o arquivo fstab na partição do produto e definir a propriedade ro.postinstall.fstab.prefix para /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