From 8b674819acc11adfe8895db864971e80c1a5083d Mon Sep 17 00:00:00 2001 From: Yo Chiang Date: Fri, 20 Sep 2019 15:59:13 +0800 Subject: [PATCH] Add x86 / x86_arm mainline_system product - Add mainline_x86 / mainline_x86_arm board - Add mainline_system_x86 / mainline_system_x86_arm product - BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 These products build only system.img and vbmeta.img. These serve as a "golden example" for x86 / arm64 CSI. Bug: 141972143 Bug: 141657175 Test: lunch mainline_system_x86-userdebug; m Test: Compare $ANDROID_PRODUCT_OUT against sdk_phone_x86 / aosp_cf_x86_phone Change-Id: I40dec69ceadfe7057c1706b883b81958d3c0a416 --- target/board/mainline_arm64/BoardConfig.mk | 3 +- target/board/mainline_x86/BoardConfig.mk | 35 +++++++++++++++++ target/board/mainline_x86_arm/BoardConfig.mk | 40 ++++++++++++++++++++ target/product/AndroidProducts.mk | 2 + target/product/mainline_system_x86.mk | 40 ++++++++++++++++++++ target/product/mainline_system_x86_arm.mk | 40 ++++++++++++++++++++ 6 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 target/board/mainline_x86/BoardConfig.mk create mode 100644 target/board/mainline_x86_arm/BoardConfig.mk create mode 100644 target/product/mainline_system_x86.mk create mode 100644 target/product/mainline_system_x86_arm.mk diff --git a/target/board/mainline_arm64/BoardConfig.mk b/target/board/mainline_arm64/BoardConfig.mk index ea2b3c5d76..7cb2609c40 100644 --- a/target/board/mainline_arm64/BoardConfig.mk +++ b/target/board/mainline_arm64/BoardConfig.mk @@ -32,8 +32,9 @@ TARGET_NO_KERNEL := true AB_OTA_UPDATER := true AB_OTA_PARTITIONS := system -BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 # Mainline devices support apex # TODO: move this to BoardConfigMainlineCommon. Currently, GSI wants flattened diff --git a/target/board/mainline_x86/BoardConfig.mk b/target/board/mainline_x86/BoardConfig.mk new file mode 100644 index 0000000000..a20d17cf01 --- /dev/null +++ b/target/board/mainline_x86/BoardConfig.mk @@ -0,0 +1,35 @@ +# +# Copyright (C) 2019 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +TARGET_ARCH := x86 +TARGET_ARCH_VARIANT := x86 +TARGET_CPU_ABI := x86 + +include build/make/target/board/BoardConfigMainlineCommon.mk + +TARGET_NO_KERNEL := true + +# Build generic A/B format system-only OTA. +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS := system + +BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 + +# Mainline devices support apex +# TODO: move this to product makefile and use updatable_apex.mk +TARGET_FLATTEN_APEX := false diff --git a/target/board/mainline_x86_arm/BoardConfig.mk b/target/board/mainline_x86_arm/BoardConfig.mk new file mode 100644 index 0000000000..6b282c29eb --- /dev/null +++ b/target/board/mainline_x86_arm/BoardConfig.mk @@ -0,0 +1,40 @@ +# +# Copyright (C) 2019 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +TARGET_ARCH := x86 +TARGET_ARCH_VARIANT := x86 +TARGET_CPU_ABI := x86 + +TARGET_NATIVE_BRIDGE_ARCH := arm +TARGET_NATIVE_BRIDGE_ARCH_VARIANT := armv7-a-neon +TARGET_NATIVE_BRIDGE_CPU_VARIANT := generic +TARGET_NATIVE_BRIDGE_ABI := armeabi-v7a armeabi + +include build/make/target/board/BoardConfigMainlineCommon.mk + +TARGET_NO_KERNEL := true + +# Build generic A/B format system-only OTA. +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS := system + +BOARD_PRODUCTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_SYSTEM_EXTIMAGE_FILE_SYSTEM_TYPE := ext4 +BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE := ext4 + +# Mainline devices support apex +# TODO: move this to product makefile and use updatable_apex.mk +TARGET_FLATTEN_APEX := false diff --git a/target/product/AndroidProducts.mk b/target/product/AndroidProducts.mk index 174916d661..ca4ed2c95c 100644 --- a/target/product/AndroidProducts.mk +++ b/target/product/AndroidProducts.mk @@ -55,6 +55,8 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/gsi_arm64.mk \ $(LOCAL_DIR)/mainline_arm64.mk \ $(LOCAL_DIR)/mainline_system_arm64.mk \ + $(LOCAL_DIR)/mainline_system_x86.mk \ + $(LOCAL_DIR)/mainline_system_x86_arm.mk \ $(LOCAL_DIR)/sdk_arm64.mk \ $(LOCAL_DIR)/sdk.mk \ $(LOCAL_DIR)/sdk_phone_arm64.mk \ diff --git a/target/product/mainline_system_x86.mk b/target/product/mainline_system_x86.mk new file mode 100644 index 0000000000..ac330686ee --- /dev/null +++ b/target/product/mainline_system_x86.mk @@ -0,0 +1,40 @@ +# +# Copyright (C) 2019 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# All components inherited here go to system image +# +$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk) +$(call enforce-product-packages-exist,) + +# Enable mainline checking +PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true + +PRODUCT_BUILD_CACHE_IMAGE := false +PRODUCT_BUILD_ODM_IMAGE := false +PRODUCT_BUILD_PRODUCT_IMAGE := false +PRODUCT_BUILD_RAMDISK_IMAGE := false +PRODUCT_BUILD_SYSTEM_IMAGE := true +PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false +PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false +PRODUCT_BUILD_USERDATA_IMAGE := false +PRODUCT_BUILD_VENDOR_IMAGE := false + +PRODUCT_NAME := mainline_system_x86 +PRODUCT_DEVICE := mainline_x86 +PRODUCT_BRAND := generic +PRODUCT_SHIPPING_API_LEVEL := 28 +PRODUCT_RESTRICT_VENDOR_FILES := all diff --git a/target/product/mainline_system_x86_arm.mk b/target/product/mainline_system_x86_arm.mk new file mode 100644 index 0000000000..0ed86ccc62 --- /dev/null +++ b/target/product/mainline_system_x86_arm.mk @@ -0,0 +1,40 @@ +# +# Copyright (C) 2019 The Android Open Source Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# +# All components inherited here go to system image +# +$(call inherit-product, $(SRC_TARGET_DIR)/product/mainline_system.mk) +$(call enforce-product-packages-exist,) + +# Enable mainline checking +PRODUCT_ENFORCE_ARTIFACT_PATH_REQUIREMENTS := true + +PRODUCT_BUILD_CACHE_IMAGE := false +PRODUCT_BUILD_ODM_IMAGE := false +PRODUCT_BUILD_PRODUCT_IMAGE := false +PRODUCT_BUILD_RAMDISK_IMAGE := false +PRODUCT_BUILD_SYSTEM_IMAGE := true +PRODUCT_BUILD_SYSTEM_EXT_IMAGE := false +PRODUCT_BUILD_SYSTEM_OTHER_IMAGE := false +PRODUCT_BUILD_USERDATA_IMAGE := false +PRODUCT_BUILD_VENDOR_IMAGE := false + +PRODUCT_NAME := mainline_system_x86_arm +PRODUCT_DEVICE := mainline_x86_arm +PRODUCT_BRAND := generic +PRODUCT_SHIPPING_API_LEVEL := 28 +PRODUCT_RESTRICT_VENDOR_FILES := all