build: support --use_prebuilt_gki [1/1]
PD#SWPL-130219
Problem:
support --use_prebuilt_gki
Solution:
support --use_prebuilt_gki
Verify:
local
Change-Id: I32515737f5663b798f23ee2c69ce4b766ee1c5e6
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
diff --git a/amlogic_utils.bzl b/amlogic_utils.bzl
index 224f0b3..6bb30f3 100644
--- a/amlogic_utils.bzl
+++ b/amlogic_utils.bzl
@@ -71,8 +71,6 @@
kmi_symbol_list_add_only: See [kernel_abi.kmi_symbol_list_add_only](#kernel_abi-kmi_symbol_list_add_only).
module_grouping: See [kernel_abi.module_grouping](#kernel_abi-module_grouping).
unstripped_modules_archive: See [kernel_abi.unstripped_modules_archive](#kernel_abi-unstripped_modules_archive).
- gki_modules_list: List of gki modules to be copied to the dist directory.
- If `None`, all gki kernel modules will be copied.
dist_dir: Argument to `copy_to_dist_dir`. If `None`, default is `"out/{BRANCH}/dist"`.
"""
@@ -85,9 +83,6 @@
if kmi_symbol_list_add_only == None:
kmi_symbol_list_add_only = True if define_abi_targets else None
- if gki_modules_list == None:
- gki_modules_list = [":kernel_aarch64_modules"]
-
if dist_dir == None:
dist_dir = "out/{branch}/dist".format(branch = BRANCH)
@@ -102,7 +97,7 @@
module_outs = module_outs,
build_config = build_config,
# Enable mixed build.
- base_kernel = ":kernel_aarch64",
+ base_kernel = ":kernel_aarch64_download_or_build",
kmi_symbol_list = kmi_symbol_list,
collect_unstripped_modules = _COLLECT_UNSTRIPPED_MODULES,
strip_modules = True,
@@ -149,14 +144,14 @@
name + "_images",
name + "_modules_install",
# Mixed build: Additional GKI artifacts.
- ":kernel_aarch64",
- ":kernel_aarch64_additional_artifacts",
+ ":kernel_aarch64_download_or_build",
+ ":kernel_aarch64_additional_artifacts_download_or_build",
name + "_merged_kernel_uapi_headers",
]
copy_to_dist_dir(
name = name + "_dist",
- data = dist_targets + gki_modules_list,
+ data = dist_targets,
dist_dir = dist_dir,
flat = True,
log = "info",
diff --git a/amlogic_utils.sh b/amlogic_utils.sh
index b7091dd..86cee1e 100644
--- a/amlogic_utils.sh
+++ b/amlogic_utils.sh
@@ -1236,12 +1236,12 @@
function export_env_variable () {
export ABI BUILD_CONFIG LTO KMI_SYMBOL_LIST_STRICT_MODE CHECK_DEFCONFIG MANUAL_INSMOD_MODULE ARCH
export KERNEL_DIR COMMON_DRIVERS_DIR BUILD_DIR ANDROID_PROJECT GKI_CONFIG UPGRADE_PROJECT ANDROID_VERSION FAST_BUILD CHECK_GKI_20 DEV_CONFIGS
- export FULL_KERNEL_VERSION BAZEL
+ export FULL_KERNEL_VERSION BAZEL PREBUILT_GKI
echo ROOT_DIR=$ROOT_DIR
echo ABI=${ABI} BUILD_CONFIG=${BUILD_CONFIG} LTO=${LTO} KMI_SYMBOL_LIST_STRICT_MODE=${KMI_SYMBOL_LIST_STRICT_MODE} CHECK_DEFCONFIG=${CHECK_DEFCONFIG} MANUAL_INSMOD_MODULE=${MANUAL_INSMOD_MODULE}
echo KERNEL_DIR=${KERNEL_DIR} COMMON_DRIVERS_DIR=${COMMON_DRIVERS_DIR} BUILD_DIR=${BUILD_DIR} ANDROID_PROJECT=${ANDROID_PROJECT} GKI_CONFIG=${GKI_CONFIG} UPGRADE_PROJECT=${UPGRADE_PROJECT} ANDROID_VERSION=${ANDROID_VERSION} FAST_BUILD=${FAST_BUILD} CHECK_GKI_20=${CHECK_GKI_20}
- echo FULL_KERNEL_VERSION=${FULL_KERNEL_VERSION} BAZEL=${BAZEL}
+ echo FULL_KERNEL_VERSION=${FULL_KERNEL_VERSION} BAZEL=${BAZEL} PREBUILT_GKI=${PREBUILT_GKI}
echo MENUCONFIG=${MENUCONFIG} BASICCONFIG=${BASICCONFIG} IMAGE=${IMAGE} MODULES=${MODULES} DTB_BUILD=${DTB_BUILD}
}
export -f export_env_variable
@@ -1357,8 +1357,9 @@
VA=1
shift
;;
- --bazel)
- BAZEL=1
+ --use_prebuilt_gki)
+ PREBUILT_GKI=$2
+ VA=1
shift
;;
-h|--help)
diff --git a/mk.sh b/mk.sh
index e693ab6..62ec53b 100755
--- a/mk.sh
+++ b/mk.sh
@@ -30,7 +30,7 @@
echo " --patch for only am patches"
echo " --check_gki_20 for gki 2.0 check kernel build"
echo " --dev_config for use the config specified by oem instead of amlogic like ./mk.sh --dev_config a_config+b_config+c_config"
- echo " --bazel for choose bazel tool to build"
+ echo " --use_prebuilt_gki for use prebuilt gki, require parameter value, https://ci.android.com/builds/submitted/10412065/kernel_aarch64/latest, --use_prebuilt_gki 10412065"
}
# handle the dir parameters for amlogic_utils.sh
@@ -113,7 +113,7 @@
build_part_of_kernel
if [[ "${FULL_KERNEL_VERSION}" != "common13-5.15" && "${ARCH}" = "arm64" && ${BAZEL} == 1 ]]; then
- args="$@ --lto=${LTO}"
+ [[ -z ${PREBUILT_GKI} ]] && args="$@ --lto=${LTO}"
PROJECT_DIR=${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/project
[[ -d ${PROJECT_DIR} ]] || mkdir -p ${PROJECT_DIR}
@@ -177,15 +177,19 @@
echo "]" >> ${PROJECT_DIR}/dtb.bzl
echo args=${args}
+ set -x
if [[ -n ${GOOGLE_BAZEL_BUILD_COMMAND_LINE} ]]; then
${GOOGLE_BAZEL_BUILD_COMMAND_LINE}
- elif [ "${ABI}" -eq "1" ]; then
+ elif [[ "${ABI}" -eq "1" ]]; then
tools/bazel run //common:amlogic_abi_update_symbol_list --sandbox_debug --verbose_failures ${args}
tools/bazel run //common:kernel_aarch64_abi_dist --sandbox_debug --verbose_failures ${args}
exit
+ elif [[ -n ${PREBUILT_GKI} ]]; then
+ tools/bazel run --use_prebuilt_gki=${PREBUILT_GKI} //common:amlogic_dist --sandbox_debug --verbose_failures ${args}
else
tools/bazel run //common:amlogic_dist --sandbox_debug --verbose_failures ${args}
fi
+ set +x
sed -i "/GKI_BUILD_CONFIG_FRAGMENT/d" ${PROJECT_DIR}/build.config.gki10