device_google_shusky/BoardConfig-shusky-common.mk
Juan Yescas d3ad2f99ce 16kb: Set 16kb TARGET_ vars in BoardConfig files and targets
TARGET_ build variables MUST NOT be set up in device*
files. In the device* files, the PRODUCT_ variables are not
defined properly and only after the build system finishes
parsing all the product files, we can set up TARGET_ vars
based on PRODUCT_ vars. During the parsing of the BoardConfig
files, the PRODUCT_ vars are defined and their values can
not be changed.

Test: Built and tested husky-next and husky-pgagnostic targets
      $ source build/envsetup.sh
      $ lunch husky-trunk_staging-userdebug
      $ get_build_var PRODUCT_16K_DEVELOPER_OPTION
      true
      $ get_build_var TARGET_BOOTS_16K

      $ get_build_var TARGET_USERDATAIMAGE_FILE_SYSTEM_TYPE

      $ get_build_var TARGET_KERNEL_DIR
      device/google/shusky-kernels/6.1/trunk-12034122
      $ get_build_var BOARD_KERNEL_PATH_16K
      device/google/shusky-kernels/6.1/trunk-12034122/16kb/Image.lz4
      $ get_build_var TARGET_KERNEL_DIR_16K
      device/google/shusky-kernels/6.1/trunk-12034122/16kb
      $ get_build_var ADDITIONAL_PRODUCT_PROPERTIES | grep 16k
      ro.product.build.16k_page.enabled=true
      $ get_build_var PRODUCT_COPY_FILES | grep efs
    device/google/zuma/conf/init.efs.16k.rc:vendor/etc/init/init.efs.rc
      $ get_build_var PRODUCT_SOONG_NAMESPACES | grep insmod
      device/google/gs-common/insmod/4k
Bug: 350529323
Bug: 346868433
Flag: EXEMPT bugfix
Change-Id: Ic1da7f21b696f1659ef7d7b0b7089c3d2c03103e
2024-07-03 17:51:38 +00:00

37 lines
No EOL
1.6 KiB
Makefile

#
# 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)))
# Shusky 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