Starting March 27, 2025, we recommend using android-latest-release instead of aosp-main to build and contribute to AOSP. For more information, see Changes to AOSP.

Verify system_other partition

Implementation

Android-powered devices with Android 9 and lower that have A/B partitions can use the inactive system_other partition (for example, system_bwhen slot_a is active) to store preoptimized VDEX/ODEX files. When system_other is used, ro.cp_system_other_odex is set to 1 for the package manager service to set sys.cppreopt=requested for cppreopts.rc to act on it.

In Android 10, libfs_avb is introduced to support standalone AVB verification for the system_other partition. The VBMeta struct of such a partition is appended to the end of the partition, to be verified by an expected public key from the file system. The Android build system supports signing system_other.img while including the corresponding signing key under /product/etc/security/avb/system_other.avbpubkey. The release tool sign_target_files_apks.py also supports replacing the signing key to a release version.

A/B devices launched before Android 10 have a physical system_other partition, even if it's upgraded to Android 10 with PRODUCT_RETROFIT_DYNAMIC_PARTITIONS set to true.

A/B devices launched with Android 10 must have a logical system_other partition. The following example shows a typical fstab.postinstall file that enables AVB on system_other.

#<dev><mnt_point><type><mnt_flagsoptions><fs_mgr_flags>
system/postinstallext4ro,nosuid,nodev,noexec
slotselect_other,logical,avb_keys=/product/etc/security/avb/system_other.avbpubkey

Devices that need to enable AVB on the system_other partition should place the fstab file in the product partition and set the property ro.postinstall.fstab.prefix to /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

Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Last updated 2025年12月02日 UTC.