From 0420e6dfffa12e45a2919c10dda3af0d95d72149 Mon Sep 17 00:00:00 2001 From: Juan Yescas Date: Wed, 26 Jun 2024 21:34:18 -0700 Subject: [PATCH 1/4] 16kb: Use PRODUCT_BOOTS_16K to select the proper rc file and fstab The build flag PRODUCT_BOOTS_16K will be used to select the proper efs rc file and fstab: - When PRODUCT_BOOTS_16K := true, 16k rc files and fstab will be used. - When PRODUCT_BOOTS_16K := false, 4k rc files and fstab will be used. Bug: 370842132 Bug: 346868433 Test: Built and booted up `aosp_shiba` and and `aosp_shiba-pgagnostic` targets Flag: EXEMPT bugfix Change-Id: I4dba20518925a176f1e1e66596e2bb1e8ade7c26 Merged-In: I4dba20518925a176f1e1e66596e2bb1e8ade7c26 --- device.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device.mk b/device.mk index 9d368c54..43651ffe 100644 --- a/device.mk +++ b/device.mk @@ -362,7 +362,7 @@ PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc \ device/google/zuma/conf/init.persist.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.persist.rc -ifeq (true,$(filter $(DEVICE_PAGE_AGNOSTIC) $(PRODUCT_16K_DEVELOPER_OPTION),true)) +ifeq (true,$(filter $(PRODUCT_BOOTS_16K) $(PRODUCT_16K_DEVELOPER_OPTION),true)) PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.efs.rc \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data \ From e192e6f56e0d1418fc7355d51825d660ad35320f Mon Sep 17 00:00:00 2001 From: Juan Yescas Date: Tue, 2 Jul 2024 18:14:47 -0700 Subject: [PATCH 2/4] 16kb: Use TARGET_BOOTS_16K to select the efs config files Test: Build and test pgagnostic targets Bug: 370842132 Bug: 350529323 Bug: 346868433 Flag: EXEMPT bugfix Change-Id: I1e0bea52de09fe3c9ee2f52b0803882456943833 Merged-In: I1e0bea52de09fe3c9ee2f52b0803882456943833 --- device.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/device.mk b/device.mk index 43651ffe..b12f0bc9 100644 --- a/device.mk +++ b/device.mk @@ -362,7 +362,7 @@ PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.zuma.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.zuma.rc \ device/google/zuma/conf/init.persist.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.persist.rc -ifeq (true,$(filter $(PRODUCT_BOOTS_16K) $(PRODUCT_16K_DEVELOPER_OPTION),true)) +ifeq (true,$(filter $(TARGET_BOOTS_16K) $(PRODUCT_16K_DEVELOPER_OPTION),true)) PRODUCT_COPY_FILES += \ device/google/zuma/conf/init.efs.16k.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.efs.rc \ device/google/$(TARGET_BOARD_PLATFORM)/conf/fstab.efs.from_data:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.efs.from_data \ From fbedb6f26f1c51bd6d8943b8473e6375a330bda9 Mon Sep 17 00:00:00 2001 From: Vilas Bhat Date: Mon, 1 Jul 2024 22:01:54 +0000 Subject: [PATCH 3/4] 16k: Move logic from device/google/shusky/BoardConfig-shusky-common.mk to zuma/BoardConfig-16k-common.mk The makefile logic in device/google/shusky/BoardConfig-shusky-common.mk is identical to the logic required for akita. Hence, this logic is moved to device/google/zuma/BoardConfig-16k-common.mk to avoid duplicating the file for akita. Bug: 370842132 Bug: 349877551 Test: Built and booted up `aosp_shiba` and and `aosp_shiba-pgagnostic` targets Flag: EXEMPT bugfix Change-Id: Ibd060eae8f4e97ae8ff800f765e2310c984e5796 Merged-In: Ibd060eae8f4e97ae8ff800f765e2310c984e5796 --- BoardConfig-16k-common.mk | 38 ++++++++++++++++++++++++++++++++++++++ BoardConfig-common.mk | 3 +++ 2 files changed, 41 insertions(+) create mode 100644 BoardConfig-16k-common.mk diff --git a/BoardConfig-16k-common.mk b/BoardConfig-16k-common.mk new file mode 100644 index 00000000..f7bee9d1 --- /dev/null +++ b/BoardConfig-16k-common.mk @@ -0,0 +1,38 @@ +# +# Copyright (C) 2024 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. +# + +ifeq ($(TARGET_BOOTS_16K),true) +# Configures the 16kb kernel directory. +TARGET_KERNEL_DIR := $(TARGET_KERNEL_DIR)/16kb + +else ifeq ($(PRODUCT_16K_DEVELOPER_OPTION),true) +# Configures the 16kb kernel and modules for OTA updates. +TARGET_KERNEL_DIR_16K := $(TARGET_KERNEL_DIR)/16kb +BOARD_KERNEL_PATH_16K := $(TARGET_KERNEL_DIR_16K)/Image.lz4 + +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_kernel_boot.modules.load) +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/system_dlkm.modules.load) +BOARD_KERNEL_MODULES_16K += $(file < $(TARGET_KERNEL_DIR_16K)/vendor_dlkm.modules.load) +BOARD_KERNEL_MODULES_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(TARGET_KERNEL_DIR_16K)/$(notdir $(module))) +BOARD_PREBUILT_DTBOIMAGE_16KB := $(TARGET_KERNEL_DIR_16K)/dtbo.img + +# Zuma targets use exynos-bcm_dbg.ko module instead of bcm_dbg.ko. +BOARD_KERNEL_MODULES_16K := $(filter-out %/bcm_dbg.ko,$(BOARD_KERNEL_MODULES_16K)) +BOARD_KERNEL_MODULES_LOAD_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$(notdir $(module))) + +BOARD_16K_OTA_USE_INCREMENTAL := true +BOARD_16K_OTA_MOVE_VENDOR := true +endif diff --git a/BoardConfig-common.mk b/BoardConfig-common.mk index 3451d397..5c3cc937 100644 --- a/BoardConfig-common.mk +++ b/BoardConfig-common.mk @@ -16,6 +16,9 @@ include build/make/target/board/BoardConfigMainlineCommon.mk include build/make/target/board/BoardConfigPixelCommon.mk +# Include settings for 16k developer option, if enabled +include device/google/zuma/BoardConfig-16k-common.mk + # HACK : To fix up after bring up multimedia devices. TARGET_SOC := zuma From 9e1bb10e89eca5f841f4c922d0b3c136e5f6d736 Mon Sep 17 00:00:00 2001 From: Robin Peng Date: Fri, 2 Aug 2024 09:14:34 +0000 Subject: [PATCH 4/4] 16k: Ignore 16k kernel settings if 16kb folder doesn't exist to avoid build breakage with test kernel prebuilts (e.g. ag/28525733) that doesn't have 16kb artifacts in it. Bug: 370842132 Bug: 349877551 Flag: EXEMPT bugfix Change-Id: I2f6c1f3365f624502366b883dbcd1066ed166cdb Merged-In: I2f6c1f3365f624502366b883dbcd1066ed166cdb --- BoardConfig-16k-common.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/BoardConfig-16k-common.mk b/BoardConfig-16k-common.mk index f7bee9d1..6498e054 100644 --- a/BoardConfig-16k-common.mk +++ b/BoardConfig-16k-common.mk @@ -14,6 +14,8 @@ # limitations under the License. # +ifneq ($(wildcard $(TARGET_KERNEL_DIR)/16kb/),) + ifeq ($(TARGET_BOOTS_16K),true) # Configures the 16kb kernel directory. TARGET_KERNEL_DIR := $(TARGET_KERNEL_DIR)/16kb @@ -36,3 +38,5 @@ BOARD_KERNEL_MODULES_LOAD_16K := $(foreach module,$(BOARD_KERNEL_MODULES_16K),$( BOARD_16K_OTA_USE_INCREMENTAL := true BOARD_16K_OTA_MOVE_VENDOR := true endif + +endif