From 3363a0b8d66e52f1e8eacd983f661ac385a72e1a Mon Sep 17 00:00:00 2001 From: Steve Muckle Date: Wed, 12 Feb 2020 13:38:28 -0800 Subject: initial GKI boot.img support The GKI boot.img should be generated alongside the GSI. To make this possible, define a flag (TARGET_NO_VENDOR_BOOT) that can be used to disable the generation of the vendor_boot image. Bug: 138323550 Change-Id: I91181853b26815e68a2fa2216b68579780d034dc --- core/board_config.mk | 4 +++- target/board/generic_arm64/BoardConfig.mk | 8 ++++++++ target/board/generic_arm64/device.mk | 10 ++++++++++ target/product/aosp_arm64.mk | 1 - target/product/sdk_phone_arm64.mk | 1 + 5 files changed, 22 insertions(+), 2 deletions(-) diff --git a/core/board_config.mk b/core/board_config.mk index 5d658dc1f4..4efe10a7fa 100644 --- a/core/board_config.mk +++ b/core/board_config.mk @@ -361,7 +361,9 @@ endif BUILDING_VENDOR_BOOT_IMAGE := ifdef BOARD_BOOT_HEADER_VERSION ifneq ($(call math_gt_or_eq,$(BOARD_BOOT_HEADER_VERSION),3),) - BUILDING_VENDOR_BOOT_IMAGE := true + ifneq ($(TARGET_NO_VENDOR_BOOT),true) + BUILDING_VENDOR_BOOT_IMAGE := true + endif ifdef BUILDING_RECOVERY_IMAGE ifneq ($(BOARD_USES_RECOVERY_AS_BOOT),true) $(error Boot header version >=3 requires recovery as boot) diff --git a/target/board/generic_arm64/BoardConfig.mk b/target/board/generic_arm64/BoardConfig.mk index f5caf7015e..8f30e6d4e2 100644 --- a/target/board/generic_arm64/BoardConfig.mk +++ b/target/board/generic_arm64/BoardConfig.mk @@ -55,8 +55,16 @@ endif include build/make/target/board/BoardConfigGsiCommon.mk include build/make/target/board/BoardConfigEmuCommon.mk +TARGET_NO_KERNEL := false +TARGET_NO_VENDOR_BOOT := true +BOARD_USES_RECOVERY_AS_BOOT := true + +BOARD_BOOTIMAGE_PARTITION_SIZE := 0x02000000 BOARD_USERDATAIMAGE_PARTITION_SIZE := 576716800 +BOARD_BOOT_HEADER_VERSION := 3 +BOARD_MKBOOTIMG_ARGS += --header_version $(BOARD_BOOT_HEADER_VERSION) + # Emulator system image is going to be used as GSI and some vendor still hasn't # cleaned up all device specific directories under root! diff --git a/target/board/generic_arm64/device.mk b/target/board/generic_arm64/device.mk index e5d8e61d02..4fcae46285 100644 --- a/target/board/generic_arm64/device.mk +++ b/target/board/generic_arm64/device.mk @@ -14,6 +14,16 @@ # limitations under the License. # +# Cuttlefish has GKI kernel prebuilts, so use those for the GKI boot.img. +ifeq ($(TARGET_PREBUILT_KERNEL),) + LOCAL_KERNEL := device/google/cuttlefish_kernel/5.4-arm64/kernel +else + LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL) +endif + +PRODUCT_COPY_FILES += \ + $(LOCAL_KERNEL):kernel + # Adjust the Dalvik heap to be appropriate for a tablet. $(call inherit-product-if-exists, frameworks/base/build/tablet-dalvik-heap.mk) $(call inherit-product-if-exists, frameworks/native/build/tablet-dalvik-heap.mk) diff --git a/target/product/aosp_arm64.mk b/target/product/aosp_arm64.mk index e133db4dbd..491397f2d4 100644 --- a/target/product/aosp_arm64.mk +++ b/target/product/aosp_arm64.mk @@ -53,7 +53,6 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_product.mk) # # All components inherited here go to vendor image # -$(call inherit-product-if-exists, device/generic/goldfish/arm64-vendor.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/emulator_vendor.mk) $(call inherit-product, $(SRC_TARGET_DIR)/board/generic_arm64/device.mk) diff --git a/target/product/sdk_phone_arm64.mk b/target/product/sdk_phone_arm64.mk index ad726333a7..9024890d2c 100644 --- a/target/product/sdk_phone_arm64.mk +++ b/target/product/sdk_phone_arm64.mk @@ -16,6 +16,7 @@ QEMU_USE_SYSTEM_EXT_PARTITIONS := true $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_arm64.mk) +$(call inherit-product-if-exists, device/generic/goldfish/arm64-vendor.mk) # Define the host tools and libs that are parts of the SDK. $(call inherit-product, sdk/build/product_sdk.mk) -- cgit v1.2.3