From 18ef515e5890e3376ecf9e18cb656e05c9455efe Mon Sep 17 00:00:00 2001 From: SzuWei Lin Date: Tue, 3 Sep 2019 16:43:10 +0800 Subject: [PATCH] Revise aosp_x86_arm to inherit from mainline_system directly After applying the patch, the contents in system/product align to the mainline_system/aosp_product. aosp_x86_arm is not releaseded for GSI. The patch also inherits from BoardConfigMainlineCommon.mk instead of BoardConfigGsiCommon.mk. But keeps output system_ext and product files to /system/system_ext/ and /system/product/. Bug: 136616665 Test: Compare the product out folder with/without the patch Change-Id: I2aefbd2d3e71e26219508e53161fa8a3cc2fd652 --- target/board/BoardConfigEmuCommon.mk | 11 ++++++ target/board/BoardConfigGsiCommon.mk | 6 ---- target/board/generic_x86_arm/BoardConfig.mk | 12 +++++-- target/board/generic_x86_arm/device.mk | 9 ----- target/product/aosp_x86_arm.mk | 40 ++++++++++++--------- 5 files changed, 45 insertions(+), 33 deletions(-) diff --git a/target/board/BoardConfigEmuCommon.mk b/target/board/BoardConfigEmuCommon.mk index f941918e36..d11f9d2ff1 100644 --- a/target/board/BoardConfigEmuCommon.mk +++ b/target/board/BoardConfigEmuCommon.mk @@ -7,6 +7,9 @@ HAVE_HTC_AUDIO_DRIVER := true BOARD_USES_GENERIC_AUDIO := true TARGET_BOOTLOADER_BOARD_NAME := goldfish_$(TARGET_ARCH) +# No Kernel +TARGET_NO_KERNEL := true + # no hardware camera USE_CAMERA_STUB := true @@ -48,6 +51,8 @@ ifeq ($(PRODUCT_USE_DYNAMIC_PARTITIONS),true) TARGET_COPY_OUT_SYSTEM_EXT := system_ext BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 else + TARGET_COPY_OUT_PRODUCT := system/product + TARGET_COPY_OUT_SYSTEM_EXT := system/system_ext BOARD_EMULATOR_DYNAMIC_PARTITIONS_PARTITION_LIST := \ system \ vendor @@ -69,6 +74,12 @@ else BOARD_VENDORIMAGE_PARTITION_SIZE := 146800640 endif +# Enable chain partition for system. +BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem +BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048 +BOARD_AVB_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) +BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 1 + BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_FLASH_BLOCK_SIZE := 512 DEVICE_MATRIX_FILE := device/generic/goldfish/compatibility_matrix.xml diff --git a/target/board/BoardConfigGsiCommon.mk b/target/board/BoardConfigGsiCommon.mk index 31d0bdf215..50b32f4f24 100644 --- a/target/board/BoardConfigGsiCommon.mk +++ b/target/board/BoardConfigGsiCommon.mk @@ -33,12 +33,6 @@ BOARD_USES_METADATA_PARTITION := true # updating the last seen rollback index in the tamper-evident storage. BOARD_AVB_ROLLBACK_INDEX := 0 -# Enable chain partition for system. -BOARD_AVB_SYSTEM_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem -BOARD_AVB_SYSTEM_ALGORITHM := SHA256_RSA2048 -BOARD_AVB_SYSTEM_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP) -BOARD_AVB_SYSTEM_ROLLBACK_INDEX_LOCATION := 1 - # GSI specific System Properties ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) TARGET_SYSTEM_PROP := build/make/target/board/gsi_system.prop diff --git a/target/board/generic_x86_arm/BoardConfig.mk b/target/board/generic_x86_arm/BoardConfig.mk index e879001580..3fbf79bd61 100644 --- a/target/board/generic_x86_arm/BoardConfig.mk +++ b/target/board/generic_x86_arm/BoardConfig.mk @@ -25,10 +25,18 @@ TARGET_NATIVE_BRIDGE_ABI := armeabi-v7a armeabi BUILD_BROKEN_DUP_RULES := true - -include build/make/target/board/BoardConfigGsiCommon.mk +# +# The inclusion order below is important. +# The settings in latter makefiles overwrite those in the former. +# +include build/make/target/board/BoardConfigMainlineCommon.mk include build/make/target/board/BoardConfigEmuCommon.mk +# the settings differ from BoardConfigMainlineCommon.mk +BOARD_USES_SYSTEM_OTHER_ODEX := +BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_CACHEIMAGE_PARTITION_SIZE := 16777216 + # Resize to 4G to accomodate ASAN and CTS BOARD_USERDATAIMAGE_PARTITION_SIZE := 4294967296 diff --git a/target/board/generic_x86_arm/device.mk b/target/board/generic_x86_arm/device.mk index 0a3241511a..fa1eb67f61 100644 --- a/target/board/generic_x86_arm/device.mk +++ b/target/board/generic_x86_arm/device.mk @@ -13,12 +13,3 @@ # See the License for the specific language governing permissions and # limitations under the License. # - -# NFC: -# Provide default libnfc-nci.conf file for devices that does not have one in -# vendor/etc because aosp system image (of aosp_$arch products) is going to -# be used as GSI. -# May need to remove the following for newly launched devices in P since this -# NFC configuration file should be in vendor/etc, instead of system/etc -PRODUCT_COPY_FILES += \ - device/generic/common/nfc/libnfc-nci.conf:system/etc/libnfc-nci.conf diff --git a/target/product/aosp_x86_arm.mk b/target/product/aosp_x86_arm.mk index 70aa64ee2d..c0f8f8a02e 100644 --- a/target/product/aosp_x86_arm.mk +++ b/target/product/aosp_x86_arm.mk @@ -16,27 +16,35 @@ PRODUCT_USE_DYNAMIC_PARTITIONS := true -# aosp_x86 with arm libraries needed by binary translation. +# +# All components inherited here go to system image +# +$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk) -# The system image of aosp_x86-userdebug is a GSI for the devices with: -# - x86 32 bits user space -# - 64 bits binder interface -# - system-as-root -# - VNDK enforcement -# - compatible property override enabled +# Enable mainline checking +ifeq (aosp_x86_arm,$(TARGET_PRODUCT)) +PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := relaxed +endif --include device/generic/goldfish/x86-vendor.mk +# TODO (b/138382074): remove following setting after enable product/system_ext +PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST += \ + system/product/% \ + system/system_ext/% -include $(SRC_TARGET_DIR)/product/full_x86.mk +# +# All components inherited here go to product image +# +$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk) -# Enable dynamic partition size -PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true +# +# All components inherited here go to vendor image +# +$(call inherit-product-if-exists, device/generic/goldfish/x86-vendor.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/emulator_vendor.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/board/generic_x86_arm/device.mk) -# Needed by Pi newly launched device to pass VtsTrebleSysProp on GSI -PRODUCT_COMPATIBLE_PROPERTY_OVERRIDE := true - -# Support addtional P vendor interface -PRODUCT_EXTRA_VNDK_VERSIONS := 28 PRODUCT_NAME := aosp_x86_arm PRODUCT_DEVICE := generic_x86_arm +PRODUCT_BRAND := Android +PRODUCT_MODEL := AOSP on IA Emulator