Verificar a partição system_other

Implementação

Dispositivos com tecnologia Android com o Android 9 e versões anteriores que tenham partições A/B podem usar a partição system_other inativa (por exemplo, system_b quando slot_a está ativo) para armazenar arquivos VDEX/ODEX pré-otimizados. Quando system_other é usado, ro.cp_system_other_odex é definido como 1 para que o serviço do gerenciador de pacotes defina sys.cppreopt=requested para que cppreopts.rc atue nele.

No Android 10, o libfs_avb foi introduzido para oferecer suporte à verificação autônoma do AVB para a partiçã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 à assinatura system_other.img, incluindo a chave de assinatura correspondente em /product/etc/security/avb/system_other.avbpubkey. A ferramenta de lançamento sign_target_files_apks.py também oferece suporte à substituição da chave de assinatura por uma versão de lançamento.

Dispositivos A/B lançados antes do Android 10 têm uma partição system_other física, mesmo que sejam atualizados para o Android 10 com PRODUCT_RETROFIT_DYNAMIC_PARTITIONS definido como true.

Os dispositivos A/B lançados com o Android 10 precisam ter uma partição system_other lógica. O exemplo a seguir mostra um arquivo fstab.postinstall típico que ativa o AVB no 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

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