blob: e6adfe50cbccf9c53583a728c64eb67df7162f4c [file] [log] [blame]
wanwei.jiang612a8882021-11-23 17:12:23 +08001#!/bin/bash
2
wanwei.jiang612a8882021-11-23 17:12:23 +08003function show_help {
4 echo "USAGE: $0 [--nongki] [--abi]"
5 echo
Lei Zhang2853aa52022-08-23 09:40:06 +08006 echo " --arch for ARCH, build 64 or 32 bit kernel, arm|arm64[default], require parameter value"
wanwei.jiang5c8d2b62021-11-26 20:36:33 +08007 echo " --abi for ABI, call build_abi.sh not build.sh, 1|0[default], not require parameter value"
8 echo " --build_config for BUILD_CONFIG, common_drivers/build.config.amlogic[default]|common/build.config.gki.aarch64, require parameter value"
wanwei.jiangd7b29ef2021-12-01 19:59:41 +08009 echo " --lto for LTO, full|thin[default]|none, require parameter value"
Wanwei Jiang0a74fb12022-12-09 16:27:40 +080010 echo " --menuconfig for only menuconfig, not require parameter value"
11 echo " --basicconfig for basicconfig, m(menuconfig)[default]|n"
wanwei.jiang5c8d2b62021-11-26 20:36:33 +080012 echo " --image for only build kernel, not require parameter value"
13 echo " --modules for only build modules, not require parameter value"
14 echo " --dtbs for only build dtbs, not require parameter value"
wanwei.jiang7ef5fd42022-02-18 16:36:19 +080015 echo " --kernel_dir for KERNEL_DIR, common[default]|other dir, require parameter value"
16 echo " --common_drivers_dir for COMMON_DRIVERS_DIR, common[default]|other dir, require parameter value"
17 echo " --build_dir for BUILD_DIR, build[default]|other dir, require parameter value"
wanwei.jiang1482c872022-05-13 20:33:51 +080018 echo " --check_defconfig for check defconfig"
19 echo " --modules_depend for check modules depend"
wanwei.jiang3eab75f2022-05-25 00:39:52 +080020 echo " --android_project for android project build"
Wanwei Jiang0a74fb12022-12-09 16:27:40 +080021 echo " --gki_20 for build gki 2.0 kernel: gki_defconfig + amlogic_gki.fragment"
Wanwei Jiange5426752023-07-03 00:56:39 +080022 echo " --gki_10 for build gki 1.0 kernel: gki_defconfig + amlogic_gki.fragment + amlogic_gki.10 + amlogic_gki.debug"
Wanwei Jiang0a74fb12022-12-09 16:27:40 +080023 echo " --fast_build for fast build"
Dezhen Wang850c0d22023-05-31 19:26:20 +080024 echo " --upgrade for android upgrade builtin module optimize vendor_boot size" following with android project name
Dezhen Wang124ad7d2023-02-06 15:35:14 +080025 echo " --manual_insmod_module for insmod ko manually when kernel is booting.It's usually used in debug test"
Wanwei Jiange9412ec2023-02-11 20:07:38 +080026 echo " --patch for only am patches"
qinglin.li8d41aaf2023-02-07 19:49:44 +080027 echo " --check_gki_20 for gki 2.0 check kernel build"
Dezhen Wangab7ba642023-03-15 14:10:44 +080028 echo " --dev_config for use the config specified by oem instead of amlogic like ./mk.sh --dev_config a_config+b_config+c_config"
Wanwei Jiang0a519f62023-06-30 16:56:28 +080029 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"
qinglin.li7cf37c02023-07-04 16:06:04 +080030 echo " --kasan for build kernel with config kasan"
wanwei.jiang612a8882021-11-23 17:12:23 +080031}
wanwei.jiang612a8882021-11-23 17:12:23 +080032
Dezhen Wang850c0d22023-05-31 19:26:20 +080033# handle the dir parameters for amlogic_utils.sh
wanwei.jiang5c8d2b62021-11-26 20:36:33 +080034VA=
wanwei.jiang612a8882021-11-23 17:12:23 +080035ARGS=()
36for i in "$@"
37do
38 case $i in
wanwei.jiang7ef5fd42022-02-18 16:36:19 +080039 --kernel_dir)
40 KERNEL_DIR=$2
41 VA=1
Dezhen Wang850c0d22023-05-31 19:26:20 +080042 shift
wanwei.jiang7ef5fd42022-02-18 16:36:19 +080043 ;;
44 --common_drivers_dir)
45 COMMON_DRIVERS_DIR=$2
46 VA=1
wanwei.jiang1482c872022-05-13 20:33:51 +080047 shift
48 ;;
Dezhen Wang556827e2023-06-13 13:57:35 +080049 --patch)
50 ONLY_PATCH=1
51 PATCH_PARM=$2
52 if [[ "${PATCH_PARM}" == "lunch" ]]; then
53 VA=1
54 fi
55 CURRENT_DIR=`pwd`
56 cd $(dirname $0)
57 shift
58 ;;
wanwei.jiang612a8882021-11-23 17:12:23 +080059 *)
60 if [[ -n $1 ]];
61 then
wanwei.jiang5c8d2b62021-11-26 20:36:33 +080062 if [[ -z ${VA} ]];
63 then
64 ARGS+=("$1")
65 fi
wanwei.jiang612a8882021-11-23 17:12:23 +080066 fi
wanwei.jiang5c8d2b62021-11-26 20:36:33 +080067 VA=
wanwei.jiang612a8882021-11-23 17:12:23 +080068 shift
69 ;;
70 esac
71done
wanwei.jiang7ef5fd42022-02-18 16:36:19 +080072
wanwei.jiang7ef5fd42022-02-18 16:36:19 +080073if [[ -z "${KERNEL_DIR}" ]]; then
74 KERNEL_DIR=common
75fi
76if [[ ! -f ${KERNEL_DIR}/init/main.c ]]; then
77 echo "The directory of kernel does not exist";
78 exit
79fi
80if [[ -z "${COMMON_DRIVERS_DIR}" ]]; then
81 if [[ -d ${KERNEL_DIR}/../common_drivers ]]; then
82 COMMON_DRIVERS_DIR=../common_drivers
83 elif [[ -d "${KERNEL_DIR}/common_drivers" ]]; then
84 COMMON_DRIVERS_DIR=common_drivers
85 fi
86fi
87if [[ ! -f ${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/amlogic_utils.sh ]]; then
88 echo "The directory of common_drivers does not exist";
89 exit
90fi
Wanwei Jiang2218b892023-03-17 17:31:21 +080091
Dezhen Wang850c0d22023-05-31 19:26:20 +080092set -- "${ARGS[@]}" # other parameters are used as script parameters to handle_input_parameters
93
Dezhen Wang556827e2023-06-13 13:57:35 +080094source "${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/amlogic_utils.sh"
95
Dezhen Wang850c0d22023-05-31 19:26:20 +080096handle_input_parameters "$@"
97
98set_default_parameters # set amlogic parameters default value
99
100set -- "${ARGS[@]}" # other parameters are used as script parameters of build_abi.sh or build.sh
101
102set -e
103
Dezhen Wang5ad119c2023-05-04 15:07:49 +0800104export_env_variable
wanwei.jiang612a8882021-11-23 17:12:23 +0800105
Dezhen Wangc7e8fda2024-03-19 07:15:42 +0000106copy_pre_commit
pengzhao.liua923dea2023-06-25 09:58:20 +0800107
Dezhen Wang5ad119c2023-05-04 15:07:49 +0800108adjust_config_action
Wanwei Jiang0a74fb12022-12-09 16:27:40 +0800109
Dezhen Wang5ad119c2023-05-04 15:07:49 +0800110build_part_of_kernel
wanwei.jiang612a8882021-11-23 17:12:23 +0800111
Dezhen Wang20069292023-06-20 14:51:21 +0800112if [[ "${FULL_KERNEL_VERSION}" != "common13-5.15" && "${ARCH}" = "arm64" && ${BAZEL} == 1 ]]; then
qinglin.life85fd92024-12-03 13:40:34 +0800113 args="$@ --config=fast"
114 [[ -z ${SYS_SKIP_GIT} ]] && args="${args} --config=stamp"
Dezhen Wang41e1d262024-09-12 11:28:40 +0000115 [[ -z ${PREBUILT_GKI} ]] && args="${args} --lto=${LTO}"
116 [[ -n ${FAST_BUILD} ]] && args="${args} --lto=none"
Wanwei Jiangea102c02024-07-09 17:37:37 +0800117 [[ -z ${GKI_CONFIG} || -n ${FAST_BUILD} ]] && args="${args} --notrim --nokmi_symbol_list_strict_mode"
Wanwei Jiang7c582c02023-07-21 18:34:50 +0800118
Wanwei Jiang92c89432023-05-15 23:57:16 +0800119 PROJECT_DIR=${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/project
120 [[ -d ${PROJECT_DIR} ]] || mkdir -p ${PROJECT_DIR}
121
Wanwei Jiang92c89432023-05-15 23:57:16 +0800122 if [[ ! -f ${PROJECT_DIR}/build.config.project ]]; then
123 touch ${PROJECT_DIR}/build.config.project
124 echo "# SPDX-License-Identifier: GPL-2.0" > ${PROJECT_DIR}/build.config.project
125 echo >> ${PROJECT_DIR}/build.config.project
126 fi
127
128 [[ -f ${PROJECT_DIR}/build.config.gki10 ]] || touch ${PROJECT_DIR}/build.config.gki10
129 echo "# SPDX-License-Identifier: GPL-2.0" > ${PROJECT_DIR}/build.config.gki10
130 echo >> ${PROJECT_DIR}/build.config.gki10
131 echo "GKI_CONFIG=${GKI_CONFIG}" >> ${PROJECT_DIR}/build.config.gki10
132 echo "ANDROID_PROJECT=${ANDROID_PROJECT}" >> ${PROJECT_DIR}/build.config.gki10
Wanwei Jiang92c89432023-05-15 23:57:16 +0800133 echo "COMMON_DRIVERS_DIR=${COMMON_DRIVERS_DIR}" >> ${PROJECT_DIR}/build.config.gki10
qinglin.li62b23332023-06-25 10:37:41 +0800134 echo "UPGRADE_PROJECT=${UPGRADE_PROJECT}" >> ${PROJECT_DIR}/build.config.gki10
Wanwei Jiang7c582c02023-07-21 18:34:50 +0800135 echo "DEV_CONFIGS=\"${DEV_CONFIGS}\"" >> ${PROJECT_DIR}/build.config.gki10
qinglin.li7cf37c02023-07-04 16:06:04 +0800136 echo "KASAN=${KASAN}" >> ${PROJECT_DIR}/build.config.gki10
137 echo "CHECK_GKI_20=${CHECK_GKI_20}" >> ${PROJECT_DIR}/build.config.gki10
Wanwei Jiang92c89432023-05-15 23:57:16 +0800138
Wanwei Jiang0bde3122023-07-20 10:24:07 +0800139 if [[ -z ${ANDROID_PROJECT} ]]; then
140 [[ -f ${PROJECT_DIR}/Kconfig.ext_modules ]] && rm -rf ${PROJECT_DIR}/Kconfig.ext_modules
141 touch ${PROJECT_DIR}/Kconfig.ext_modules
142 echo "# SPDX-License-Identifier: GPL-2.0" > ${PROJECT_DIR}/Kconfig.ext_modules
143 echo >> ${PROJECT_DIR}/Kconfig.ext_modules
144
145 [[ -f ${PROJECT_DIR}/project.bzl ]] && rm -f ${PROJECT_DIR}/project.bzl
Wanwei Jiang92c89432023-05-15 23:57:16 +0800146 touch ${PROJECT_DIR}/project.bzl
147 echo "# SPDX-License-Identifier: GPL-2.0" > ${PROJECT_DIR}/project.bzl
148 echo >> ${PROJECT_DIR}/project.bzl
149
Wanwei Jiang92c89432023-05-15 23:57:16 +0800150 echo >> ${PROJECT_DIR}/project.bzl
151 echo "EXT_MODULES_ANDROID = [" >> ${PROJECT_DIR}/project.bzl
152 echo "]" >> ${PROJECT_DIR}/project.bzl
qinglin.li62b23332023-06-25 10:37:41 +0800153
154 echo >> ${PROJECT_DIR}/project.bzl
qinglin.lifeb92b22023-08-24 10:07:24 +0800155 echo "MODULES_OUT_REMOVE = [" >> ${PROJECT_DIR}/project.bzl
qinglin.li62b23332023-06-25 10:37:41 +0800156 echo "]" >> ${PROJECT_DIR}/project.bzl
157
158 echo >> ${PROJECT_DIR}/project.bzl
qinglin.lifeb92b22023-08-24 10:07:24 +0800159 echo "MODULES_OUT_ADD = [" >> ${PROJECT_DIR}/project.bzl
qinglin.li62b23332023-06-25 10:37:41 +0800160 echo "]" >> ${PROJECT_DIR}/project.bzl
Wanwei Jiang0bde3122023-07-20 10:24:07 +0800161
162 echo >> ${PROJECT_DIR}/project.bzl
163 echo "KCONFIG_EXT_SRCS = [" >> ${PROJECT_DIR}/project.bzl
164 echo "]" >> ${PROJECT_DIR}/project.bzl
Wanwei Jiangc32c6432024-07-10 17:36:05 +0800165
166 echo >> ${PROJECT_DIR}/project.bzl
167 if [[ -n ${FAST_BUILD} ]]; then
168 echo "FAST_BUILD = \"fatload\"" >> ${PROJECT_DIR}/project.bzl
169 else
170 echo "FAST_BUILD = \"\"" >> ${PROJECT_DIR}/project.bzl
171 fi
172 else
173 echo >> ${PROJECT_DIR}/project.bzl
174 if [[ -n ${FAST_BUILD} ]]; then
175 echo "FAST_BUILD = \"android\"" >> ${PROJECT_DIR}/project.bzl
176 else
177 echo "FAST_BUILD = \"\"" >> ${PROJECT_DIR}/project.bzl
178 fi
Wanwei Jiang92c89432023-05-15 23:57:16 +0800179 fi
180
qinglin.li62b23332023-06-25 10:37:41 +0800181 echo >> ${PROJECT_DIR}/project.bzl
qinglin.lifcce1762024-08-07 11:21:27 +0800182 sed -i "/FULL_KERNEL_VERSION/d" ${PROJECT_DIR}/project.bzl
183 echo "FULL_KERNEL_VERSION = \"${FULL_KERNEL_VERSION}\"" >> ${PROJECT_DIR}/project.bzl
184
185 echo >> ${PROJECT_DIR}/project.bzl
qinglin.li62b23332023-06-25 10:37:41 +0800186 sed -i "/ANDROID_PROJECT/d" ${PROJECT_DIR}/project.bzl
187 echo "ANDROID_PROJECT = \"${ANDROID_PROJECT}\"" >> ${PROJECT_DIR}/project.bzl
188
Wanwei Jiang92c89432023-05-15 23:57:16 +0800189 sed -i "/GKI_CONFIG/d" ${PROJECT_DIR}/project.bzl
qinglin.li62b23332023-06-25 10:37:41 +0800190 echo "GKI_CONFIG = \"${GKI_CONFIG}\"" >> ${PROJECT_DIR}/project.bzl
191
192 sed -i "/UPGRADE_PROJECT/d" ${PROJECT_DIR}/project.bzl
193 echo "UPGRADE_PROJECT = \"${UPGRADE_PROJECT}\"" >> ${PROJECT_DIR}/project.bzl
Wanwei Jiang92c89432023-05-15 23:57:16 +0800194
Xindong Xu748027f2024-10-10 17:13:52 +0800195 echo "DTBO_DEVICETREE = [" >> ${PROJECT_DIR}/project.bzl
196 if [[ -n ${DTBO_DEVICETREE} ]]; then
197 echo " \"${DTBO_DEVICETREE}\"," >> ${PROJECT_DIR}/project.bzl
198 fi
199 echo "]" >> ${PROJECT_DIR}/project.bzl
200
Wanwei Jiang92c89432023-05-15 23:57:16 +0800201 [[ -f ${PROJECT_DIR}/dtb.bzl ]] || touch ${PROJECT_DIR}/dtb.bzl
202 echo "# SPDX-License-Identifier: GPL-2.0" > ${PROJECT_DIR}/dtb.bzl
203 echo >> ${PROJECT_DIR}/dtb.bzl
204
205 echo "AMLOGIC_DTBS = [" >> ${PROJECT_DIR}/dtb.bzl
qinglin.lieefcce12024-07-24 19:27:14 +0800206 grep -rn -E 'dtbo-y|dtb-y' ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/arch/${ARCH}/boot/dts/*/Makefile | awk -F 'Makefile| |=+' '{print " \"" $NF "\","}' >> ${PROJECT_DIR}/dtb.bzl
Wanwei Jiang92c89432023-05-15 23:57:16 +0800207 echo "]" >> ${PROJECT_DIR}/dtb.bzl
208
qinglin.li7cf37c02023-07-04 16:06:04 +0800209 if [[ "${GKI_CONFIG}" != "gki_20" || -n ${KASAN} || -z ${ANDROID_PROJECT} ]]; then
210 args="${args} --gki_build_config_fragment=//common:common_drivers/build.config.amlogic.fragment.bazel"
211 fi
212
Qinglin Li8c3c5192023-08-10 20:21:36 -0700213 if [[ ${GKI_CONFIG} != gki_20 || -n ${KASAN} || -n ${CHECK_GKI_20} ]]; then
214 args="${args} --allow_undeclared_modules"
215 fi
216
qinglin.li7cf37c02023-07-04 16:06:04 +0800217 [[ -n ${KASAN} ]] && args="${args} --kasan"
218
219 if [[ -n ${CHECK_GKI_20} ]]; then
220 args="${args} --lto=none --notrim --nokmi_symbol_list_strict_mode"
221 fi
222
Wanwei Jiang92c89432023-05-15 23:57:16 +0800223 echo args=${args}
Wanwei Jiang0a519f62023-06-30 16:56:28 +0800224 set -x
Wanwei Jiangcd1d9122023-06-21 16:22:13 +0800225 if [[ -n ${GOOGLE_BAZEL_BUILD_COMMAND_LINE} ]]; then
Dezhen Wang1175d232024-10-25 09:03:33 +0000226 if [[ ${GKI_CONFIG} != gki_20 || ${GOOGLE_BAZEL_BUILD_COMMAND_LINE} =~ "--kasan" ]]; then
qinglin.li7cf37c02023-07-04 16:06:04 +0800227 GOOGLE_BAZEL_BUILD_COMMAND_LINE="${GOOGLE_BAZEL_BUILD_COMMAND_LINE} \
228 --gki_build_config_fragment=//common:common_drivers/build.config.amlogic.fragment.bazel \
229 --allow_undeclared_modules"
Dezhen Wangffa9b1d2024-11-01 07:15:13 +0000230 if [[ -z ${GKI_CONFIG} ]]; then
231 GOOGLE_BAZEL_BUILD_COMMAND_LINE="${GOOGLE_BAZEL_BUILD_COMMAND_LINE} --notrim \
232 --nokmi_symbol_list_strict_mode"
233 fi
qinglin.li7cf37c02023-07-04 16:06:04 +0800234 fi
Wanwei Jiangcd1d9122023-06-21 16:22:13 +0800235 ${GOOGLE_BAZEL_BUILD_COMMAND_LINE}
Wanwei Jiang0a519f62023-06-30 16:56:28 +0800236 elif [[ "${ABI}" -eq "1" ]]; then
Dezhen Wang1b0ed9f2024-09-04 07:44:11 +0000237 tools/bazel run //common:amlogic_abi_update_symbol_list ${args}
238 tools/bazel run //common:kernel_aarch64_abi_dist ${args}
Wanwei Jiang92c89432023-05-15 23:57:16 +0800239 exit
Wanwei Jiang0a519f62023-06-30 16:56:28 +0800240 elif [[ -n ${PREBUILT_GKI} ]]; then
Dezhen Wang1b0ed9f2024-09-04 07:44:11 +0000241 tools/bazel run --use_prebuilt_gki=${PREBUILT_GKI} //common:amlogic_dist ${args}
Wanwei Jiang92c89432023-05-15 23:57:16 +0800242 else
Dezhen Wang1b0ed9f2024-09-04 07:44:11 +0000243 tools/bazel run //common:amlogic_dist ${args}
Wanwei Jiang92c89432023-05-15 23:57:16 +0800244 fi
Wanwei Jiang0a519f62023-06-30 16:56:28 +0800245 set +x
Wanwei Jiang92c89432023-05-15 23:57:16 +0800246
Wanwei Jiang92c89432023-05-15 23:57:16 +0800247 echo "========================================================"
248 echo "after compiling with bazel and organizing the document"
249 source ${KERNEL_DIR}/build.config.constants
250 export COMMON_OUT_DIR=$(readlink -m ${OUT_DIR:-${ROOT_DIR}/out${OUT_DIR_SUFFIX}/${BRANCH}})
251 export DIST_DIR=$(readlink -m ${DIST_DIR:-${COMMON_OUT_DIR}/dist})
252 source ${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/amlogic_utils.sh
253
254 bazel_extra_cmds
qinglin.lib173ecb2024-09-06 19:16:36 +0800255 build_ext_module_without_bazel
Wanwei Jiang7c582c02023-07-21 18:34:50 +0800256 if [[ -n ${COPY_DEV_CONFIGS} ]]; then
257 for config_name in ${COPY_DEV_CONFIGS}; do
258 if [[ -f ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/arch/${ARCH}/configs/${config_name} ]]; then
259 rm -f ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/arch/${ARCH}/configs/${config_name}
260 else
261 echo "ERROR: config file ${config_name} is not in the right path!!"
262 exit
263 fi
264 done
265 fi
wanwei.jiang612a8882021-11-23 17:12:23 +0800266else
Wanwei Jiang92c89432023-05-15 23:57:16 +0800267 if [ "${ABI}" -eq "1" ]; then
268 export OUT_DIR_SUFFIX="_abi"
269 else
270 OUT_DIR_SUFFIX=
271 fi
Wanwei Jiang2218b892023-03-17 17:31:21 +0800272
Wanwei Jiang92c89432023-05-15 23:57:16 +0800273 if [ "${ABI}" -eq "1" ]; then
274 ${ROOT_DIR}/${BUILD_DIR}/build_abi.sh "$@"
275 else
276 if [[ "${FULL_KERNEL_VERSION}" != "common13-5.15" && "${ARCH}" = "arm64" ]]; then
Wanwei Jiang2218b892023-03-17 17:31:21 +0800277 if [[ -z ${EXT_MODULES} ]]; then
278 echo
279 echo
280 echo "========================================================"
281 echo " Build GKI boot image and GKI modules"
282 echo
283 source ${KERNEL_DIR}/build.config.constants
284 export OUT_DIR=$(readlink -m ${OUT_DIR:-${ROOT_DIR}/out${OUT_DIR_SUFFIX}/${BRANCH}_gki})
285 COMMON_OUT_DIR=$(readlink -m ${OUT_DIR:-${ROOT_DIR}/out${OUT_DIR_SUFFIX}/${BRANCH}})
286 export DIST_GKI_DIR=$(readlink -m ${DIST_DIR:-${COMMON_OUT_DIR}/dist})
287
288 if [[ "${GKI_CONFIG}" == "gki_20" ]]; then
289 BUILD_CONFIG=${KERNEL_DIR}/build.config.gki.aarch64 ${ROOT_DIR}/${BUILD_DIR}/build.sh
290 else
291 export IN_BUILD_GKI_10=1
292 ${ROOT_DIR}/${BUILD_DIR}/build.sh
293 unset IN_BUILD_GKI_10
294 fi
295 unset OUT_DIR
296 fi
297
Wanwei Jiangc65e4d32023-03-21 16:24:41 +0800298 echo
299 echo
300 echo "========================================================"
Wanwei Jiang2218b892023-03-17 17:31:21 +0800301 echo " Build Vendor modules"
Wanwei Jiangc65e4d32023-03-21 16:24:41 +0800302 echo
Wanwei Jiang2218b892023-03-17 17:31:21 +0800303 ${ROOT_DIR}/${BUILD_DIR}/build.sh "$@"
Wanwei Jiang92c89432023-05-15 23:57:16 +0800304 else
Dezhen Wang1176fad2023-06-09 11:22:17 +0800305 if [[ "${FULL_KERNEL_VERSION}" != "common13-5.15" && "${ARCH}" = "arm" ]]; then
Dezhen Wangad3fffe2023-08-24 11:07:55 +0800306 build_android_32bit $@
Dezhen Wang1176fad2023-06-09 11:22:17 +0800307 else
Dezhen Wang0ac8a6a2023-06-28 11:03:23 +0800308 clear_files_compressed_with_lzma_in_last_build
Dezhen Wangf228de52024-07-10 12:42:32 +0000309 export BUILD_13_515_FOR_64BIT=1
Dezhen Wang1176fad2023-06-09 11:22:17 +0800310 ${ROOT_DIR}/${BUILD_DIR}/build.sh "$@"
311 fi
Wanwei Jiangc65e4d32023-03-21 16:24:41 +0800312 fi
Wanwei Jiangc65e4d32023-03-21 16:24:41 +0800313 fi
wanwei.jiang612a8882021-11-23 17:12:23 +0800314fi
315
Wanwei Jiang0a74fb12022-12-09 16:27:40 +0800316source ${ROOT_DIR}/${BUILD_CONFIG}
317
wanwei.jiangc663c4c2022-06-16 14:41:23 +0800318source ${KERNEL_BUILD_VAR_FILE}
Dezhen Wang5ad119c2023-05-04 15:07:49 +0800319
wanwei.jiangc663c4c2022-06-16 14:41:23 +0800320if [[ -n ${RM_KERNEL_BUILD_VAR_FILE} ]]; then
321 rm -f ${KERNEL_BUILD_VAR_FILE}
322fi
wanwei.jiang612a8882021-11-23 17:12:23 +0800323
qinglin.li71c0eed2024-07-10 17:06:06 +0800324if [[ ${ARCH} = "arm64" && -z ${FAST_BUILD} ]]; then
325 generate_lzma_format_image
326fi
327
Wanwei Jiang2218b892023-03-17 17:31:21 +0800328rename_external_module_name
329
Dezhen Wang5ad119c2023-05-04 15:07:49 +0800330rebuild_rootfs ${ARCH}
331
wanwei.jiang236e9a32021-12-07 16:34:14 +0800332set +e
wanwei.jiang1482c872022-05-13 20:33:51 +0800333
Dezhen Wang5ad119c2023-05-04 15:07:49 +0800334check_undefined_symbol
Dezhen Wangd40fa552023-04-11 16:13:27 +0800335
Dezhen Wang5ad119c2023-05-04 15:07:49 +0800336abi_symbol_list_detect
Dezhen Wang0ac8a6a2023-06-28 11:03:23 +0800337
qinglin.li71c0eed2024-07-10 17:06:06 +0800338wait