build: support gki build for common14 with build.sh [1/2]

PD#SWPL-116256

Problem:
support gki build for common14 with build.sh

Solution:
1. gki1.0 build, once build out the boot.img, system_dlkm.img,
and modules which in the vendor_boot.img and vendor_dlkm.img.
2. gki2.0 build, once build out the boot.img and system_dlkm.img
with build.config.gki.aarch64, second build out modules which
in the vendor_boot.img and vendor_dlkm.img
3. use SYSTEM_DLKM_PROPS to add selinux label for system_dlkm.img
4. add android/abi_gki_aarch64_amlogic.external include gki symbol
which used to vendor modules, kernel/Makefile add when once build

Verify:
local

Change-Id: Ib6774641f54a1dbf17083ce441604292f0652487
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
This commit is contained in:
Wanwei Jiang
2023-03-21 16:24:41 +08:00
committed by gerrit autosubmit
parent 3bd8a59542
commit c65e4d3440
7 changed files with 197 additions and 46 deletions
+12 -3
View File
@@ -53,6 +53,13 @@ function pre_defconfig_cmds() {
fi
done
fi
if [[ ${IN_BUILD_GKI_10} == 1 ]]; then
local temp_file=`mktemp /tmp/config.XXXXXXXXXXXX`
echo "CONFIG_MODULE_SIG_ALL=y" >> ${temp_file}
KCONFIG_CONFIG=${ROOT_DIR}/${KCONFIG_DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KCONFIG_DEFCONFIG} ${temp_file}
rm ${temp_file}
fi
}
export -f pre_defconfig_cmds
@@ -236,12 +243,12 @@ function extra_cmds() {
echo EXT_MODULES=${EXT_MODULES}
export EXT_MODULES
head -n ${ramdisk_last_line} modules.order > system_dlkm_modules
head -n ${ramdisk_last_line} modules.order > vendor_boot_modules
file_last_line=`sed -n "$=" modules.order`
let line=${file_last_line}-${ramdisk_last_line}
tail -n ${line} modules.order > vendor_dlkm_modules
export MODULES_LIST=${src_dir}/system_dlkm_modules
if [ "${ARCH}" = "arm64" -a -z ${FAST_BUILD} ]; then
export MODULES_LIST=${src_dir}/vendor_boot_modules
if [[ "${ARCH}" = "arm64" && -z ${FAST_BUILD} ]]; then
export VENDOR_DLKM_MODULES_LIST=${src_dir}/vendor_dlkm_modules
fi
@@ -264,6 +271,8 @@ function extra_cmds() {
echo "SYSTEM_DLKM_STAGING_DIR=${SYSTEM_DLKM_STAGING_DIR}" >> ${KERNEL_BUILD_VAR_FILE}
echo "VENDOR_DLKM_STAGING_DIR=${VENDOR_DLKM_STAGING_DIR}" >> ${KERNEL_BUILD_VAR_FILE}
echo "MKBOOTIMG_STAGING_DIR=${MKBOOTIMG_STAGING_DIR}" >> ${KERNEL_BUILD_VAR_FILE}
echo "DIST_GKI_DIR=${DIST_GKI_DIR}" >> ${KERNEL_BUILD_VAR_FILE}
echo "FULL_KERNEL_VERSION=${FULL_KERNEL_VERSION}" >> ${KERNEL_BUILD_VAR_FILE}
fi
for module_path in ${PREBUILT_MODULES_PATH}; do
+118
View File
@@ -0,0 +1,118 @@
# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
[abi_symbol_list]
# wlan
cfg80211_ft_event
cfg80211_rx_unprot_mlme_mgmt
cfg80211_pmksa_candidate_notify
cfg80211_gtk_rekey_notify
cfg80211_assoc_failure
cfg80211_tdls_oper_request
cfg80211_ft_event
cfg80211_rx_unprot_mlme_mgmt
cfg80211_pmksa_candidate_notify
cfg80211_gtk_rekey_notify
cfg80211_assoc_failure
cfg80211_tdls_oper_request
cfg80211_put_bss
cfg80211_disconnected
ieee80211_get_channel_khz
cfg80211_roamed
cfg80211_ibss_joined
ieee80211_channel_to_freq_khz
cfg80211_new_sta
cfg80211_del_sta_sinfo
cfg80211_michael_mic_failure
wiphy_unregister
wiphy_free
cfg80211_chandef_create
cfg80211_ch_switch_notify
__cfg80211_alloc_event_skb
__cfg80211_send_event_skb
ieee80211_hdrlen
cfg80211_get_bss
regulatory_hint
cfg80211_connect_done
ieee80211_freq_khz_to_channel
cfg80211_vendor_cmd_reply
__cfg80211_alloc_reply_skb
wiphy_register
cfg80211_unlink_bss
cfg80211_scan_done
cfg80211_calculate_bitrate
wiphy_new_nm
cfg80211_inform_bss_frame_data
cfg80211_sched_scan_results
cfg80211_ready_on_channel
cfg80211_remain_on_channel_expired
cfg80211_rx_mgmt_ext
cfg80211_mgmt_tx_status_ext
regulatory_set_wiphy_regd_sync
cfg80211_put_bss
cfg80211_disconnected
ieee80211_get_channel_khz
cfg80211_roamed
cfg80211_ibss_joined
ieee80211_channel_to_freq_khz
cfg80211_new_sta
cfg80211_del_sta_sinfo
cfg80211_michael_mic_failure
wiphy_unregister
wiphy_free
cfg80211_chandef_create
cfg80211_ch_switch_notify
__cfg80211_alloc_event_skb
__cfg80211_send_event_skb
ieee80211_hdrlen
cfg80211_get_bss
regulatory_hint
cfg80211_connect_done
ieee80211_freq_khz_to_channel
cfg80211_vendor_cmd_reply
__cfg80211_alloc_reply_skb
wiphy_register
cfg80211_unlink_bss
cfg80211_scan_done
cfg80211_calculate_bitrate
wiphy_new_nm
cfg80211_inform_bss_frame_data
cfg80211_sched_scan_results
cfg80211_ready_on_channel
cfg80211_remain_on_channel_expired
cfg80211_rx_mgmt_ext
cfg80211_mgmt_tx_status_ext
regulatory_set_wiphy_regd_sync
cfg80211_put_bss
cfg80211_disconnected
ieee80211_get_channel_khz
cfg80211_roamed
cfg80211_ibss_joined
ieee80211_channel_to_freq_khz
cfg80211_new_sta
cfg80211_del_sta_sinfo
cfg80211_michael_mic_failure
wiphy_unregister
wiphy_free
cfg80211_chandef_create
cfg80211_ch_switch_notify
__cfg80211_alloc_event_skb
__cfg80211_send_event_skb
ieee80211_hdrlen
cfg80211_get_bss
regulatory_hint
cfg80211_connect_done
ieee80211_freq_khz_to_channel
cfg80211_vendor_cmd_reply
__cfg80211_alloc_reply_skb
wiphy_register
cfg80211_unlink_bss
cfg80211_scan_done
cfg80211_calculate_bitrate
wiphy_new_nm
cfg80211_inform_bss_frame_data
cfg80211_sched_scan_results
cfg80211_ready_on_channel
cfg80211_remain_on_channel_expired
cfg80211_rx_mgmt_ext
cfg80211_mgmt_tx_status_ext
regulatory_set_wiphy_regd_sync
+2
View File
@@ -1,5 +1,7 @@
# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
# CONFIG_MODULE_SIG_ALL is not set
CONFIG_AMLOGIC_DRIVER=y
CONFIG_AMLOGIC_BREAK_GKI=y
CONFIG_AMLOGIC_MODIFY=y
@@ -1,4 +1,4 @@
From cfbdbf7ab09df5fb7c88ebe7d63ab0ebb64f135d Mon Sep 17 00:00:00 2001
From d591aa78a349cc0fa562485a3ce2870bc6488dbd Mon Sep 17 00:00:00 2001
From: Wanwei Jiang <wanwei.jiang@amlogic.com>
Date: Thu, 2 Feb 2023 15:49:10 +0800
Subject: [PATCH] init: initialize the building framework of androidu-5.15 for
@@ -22,6 +22,7 @@ Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
Makefile | 35 ++
drivers/Kconfig | 52 +++
.../greybus/tools/{Android.mk => Android_mk} | 0
kernel/Makefile | 6 +
scripts/amlogic/licence_check.pl | 153 +++++++
scripts/amlogic/licence_pre.pl | 53 +++
scripts/amlogic/merge_pre_check.pl | 429 ++++++++++++++++++
@@ -29,7 +30,7 @@ Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
scripts/amlogic/pre-commit-common_drivers | 24 +
scripts/checkpatch.pl | 158 +++----
scripts/kconfig/Makefile | 9 +-
11 files changed, 860 insertions(+), 80 deletions(-)
12 files changed, 866 insertions(+), 80 deletions(-)
rename drivers/staging/greybus/tools/{Android.mk => Android_mk} (100%)
create mode 100755 scripts/amlogic/licence_check.pl
create mode 100755 scripts/amlogic/licence_pre.pl
@@ -186,6 +187,25 @@ diff --git a/drivers/staging/greybus/tools/Android.mk b/drivers/staging/greybus/
similarity index 100%
rename from drivers/staging/greybus/tools/Android.mk
rename to drivers/staging/greybus/tools/Android_mk
diff --git a/kernel/Makefile b/kernel/Makefile
index 9dc7e32828ca..733242a0a15c 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -175,8 +175,14 @@ $(obj)/gki_module_unprotected.h: $(ALL_KMI_SYMBOLS) \
$(ALL_KMI_SYMBOLS)
# Generate symbol list with union of all symbol list for arm64; empty for others
+# boot.img need to use once build with gki, not CONFIG_AMLOGIC_DRIVER when once build.
+ifndef CONFIG_AMLOGIC_DRIVER
+$(ALL_KMI_SYMBOLS): $(if $(filter arm64,$(ARCH)),$(wildcard $(srctree)/android/abi_gki_aarch64_*, $(srctree)/$(COMMON_DRIVERS_DIR)/android/abi_gki_aarch64_*),)
+ $(if $(strip $^),cat $^ > $(ALL_KMI_SYMBOLS), echo "" > $(ALL_KMI_SYMBOLS))
+else
$(ALL_KMI_SYMBOLS): $(if $(filter arm64,$(ARCH)),$(wildcard $(srctree)/android/abi_gki_aarch64_*),)
$(if $(strip $^),cat $^ > $(ALL_KMI_SYMBOLS), echo "" > $(ALL_KMI_SYMBOLS))
+endif
$(obj)/gki_module_protected_exports.h: $(srctree)/android/abi_gki_protected_exports \
$(srctree)/scripts/gen_gki_modules_headers.sh
diff --git a/scripts/amlogic/licence_check.pl b/scripts/amlogic/licence_check.pl
new file mode 100755
index 000000000000..2163ce102ab6
@@ -1,38 +0,0 @@
From 90ee48ce37fac4950a70e656465365f8ef1e0e20 Mon Sep 17 00:00:00 2001
From: Wanwei Jiang <wanwei.jiang@amlogic.com>
Date: Wed, 8 Mar 2023 14:13:32 +0800
Subject: [PATCH] module: disable module sign [1/1]
PD#SWPL-109858
Problem:
can't insmod closed ko
Solution:
disable module sign
Verify:
sc2
Change-Id: I1d6277d436cb374a5ff7cf946c9e87ceead8dc81
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
---
arch/arm64/configs/gki_defconfig | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/arm64/configs/gki_defconfig b/arch/arm64/configs/gki_defconfig
index c2fff4bc35b2..28303c19ca06 100644
--- a/arch/arm64/configs/gki_defconfig
+++ b/arch/arm64/configs/gki_defconfig
@@ -98,8 +98,6 @@ CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SCMVERSION=y
-CONFIG_MODULE_SIG=y
-CONFIG_MODULE_SIG_PROTECT=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_CGROUP_IOCOST=y
CONFIG_BLK_INLINE_ENCRYPTION=y
--
2.25.1
+10 -2
View File
@@ -8,6 +8,7 @@ DO_NOT_STRIP_MODULES= #strip modules
BUILD_INITRAMFS=${BUILD_INITRAMFS:-1}
# LZ4_RAMDISK=${BUILD_INITRAMFS:-1}
BUILD_SYSTEM_DLKM=
SYSTEM_DLKM_MODULES_LIST=${ROOT_DIR}/${KERNEL_DIR}/android/gki_system_dlkm_modules
MODULES_ORDER=
# COMPRESS_MODULES=1 # Package the unstripped modules for debugging
@@ -73,6 +74,9 @@ FILES="
android_overlay_dt.dtbo
${FILES_ANDROID}
"
if [[ -z ${KERNEL_DEVICETREE} ]]; then
KERNEL_DEVICETREE="sc2_s905x4_ah212_drm"
fi
for device_tree in ${KERNEL_DEVICETREE}; do
MAKE_GOALS="
${MAKE_GOALS}
@@ -123,8 +127,12 @@ if [[ `grep "CONFIG_AMLOGIC_IN_KERNEL_MODULES=n" ${ROOT_DIR}/${FRAGMENT_CONFIG}`
"
fi
POST_KERNEL_BUILD_CMDS="prepare_module_build"
EXTRA_CMDS="extra_cmds"
if [[ ${IN_BUILD_GKI_10} == 1 ]]; then
EXT_MODULES=
else
POST_KERNEL_BUILD_CMDS="prepare_module_build"
EXTRA_CMDS="extra_cmds"
fi
if [[ ${GKI_CONFIG} == gki_20 ]]; then
ADDITIONAL_KMI_SYMBOL_LISTS="
+33 -1
View File
@@ -272,6 +272,7 @@ GKI_CONFIG=${GKI_CONFIG:-gki_debug}
set -e
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 FAST_BUILD CHECK_GKI_20 DEV_CONFIG CONFIG_GROUP
export FULL_KERNEL_VERSION
if [[ -f ${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/auto_patch/auto_patch.sh ]]; then
${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/auto_patch/auto_patch.sh ${FULL_KERNEL_VERSION}
@@ -284,6 +285,7 @@ fi
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} FAST_BUILD=${FAST_BUILD} CHECK_GKI_20=${CHECK_GKI_20}
echo FULL_KERNEL_VERSION=${FULL_KERNEL_VERSION}
export CROSS_COMPILE=
@@ -476,7 +478,37 @@ fi
if [ "${ABI}" -eq "1" ]; then
${ROOT_DIR}/${BUILD_DIR}/build_abi.sh "$@"
else
${ROOT_DIR}/${BUILD_DIR}/build.sh "$@"
if [[ "${FULL_KERNEL_VERSION}" != "common13-5.15" ]]; then
if [[ -z ${EXT_MODULES} ]]; then
echo
echo
echo "========================================================"
echo " Build GKI boot image and GKI modules"
echo
source ${KERNEL_DIR}/build.config.constants
export OUT_DIR=$(readlink -m ${OUT_DIR:-${ROOT_DIR}/out${OUT_DIR_SUFFIX}/${BRANCH}_gki})
COMMON_OUT_DIR=$(readlink -m ${OUT_DIR:-${ROOT_DIR}/out${OUT_DIR_SUFFIX}/${BRANCH}})
export DIST_GKI_DIR=$(readlink -m ${DIST_DIR:-${COMMON_OUT_DIR}/dist})
if [[ "${GKI_CONFIG}" == "gki_20" ]]; then
BUILD_CONFIG=${KERNEL_DIR}/build.config.gki.aarch64 ${ROOT_DIR}/${BUILD_DIR}/build.sh
else
export IN_BUILD_GKI_10=1
${ROOT_DIR}/${BUILD_DIR}/build.sh
unset IN_BUILD_GKI_10
fi
unset OUT_DIR
fi
echo
echo
echo "========================================================"
echo " Build Vendor modules"
echo
${ROOT_DIR}/${BUILD_DIR}/build.sh "$@"
else
${ROOT_DIR}/${BUILD_DIR}/build.sh "$@"
fi
fi
source ${ROOT_DIR}/${BUILD_CONFIG}