diff --git a/amlogic_utils.sh b/amlogic_utils.sh index b40939e8f..429fe830b 100644 --- a/amlogic_utils.sh +++ b/amlogic_utils.sh @@ -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 diff --git a/android/abi_gki_aarch64_amlogic.external b/android/abi_gki_aarch64_amlogic.external new file mode 100644 index 000000000..d322a66b6 --- /dev/null +++ b/android/abi_gki_aarch64_amlogic.external @@ -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 diff --git a/arch/arm64/configs/amlogic_gki.fragment b/arch/arm64/configs/amlogic_gki.fragment index 1d28d052d..783ffbda7 100644 --- a/arch/arm64/configs/amlogic_gki.fragment +++ b/arch/arm64/configs/amlogic_gki.fragment @@ -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 diff --git a/auto_patch/common14-5.15/common/01_env/0001-init-initialize-the-building-framework-of-androidu-5.patch b/auto_patch/common14-5.15/common/01_env/0001-init-initialize-the-building-framework-of-androidu-5.patch index c008b9639..2193a5d3d 100644 --- a/auto_patch/common14-5.15/common/01_env/0001-init-initialize-the-building-framework-of-androidu-5.patch +++ b/auto_patch/common14-5.15/common/01_env/0001-init-initialize-the-building-framework-of-androidu-5.patch @@ -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 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 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 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 diff --git a/auto_patch/common14-5.15/common/10_others/0003-module-disable-module-sign-1-1.patch b/auto_patch/common14-5.15/common/10_others/0003-module-disable-module-sign-1-1.patch deleted file mode 100644 index 35aaf4429..000000000 --- a/auto_patch/common14-5.15/common/10_others/0003-module-disable-module-sign-1-1.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 90ee48ce37fac4950a70e656465365f8ef1e0e20 Mon Sep 17 00:00:00 2001 -From: Wanwei Jiang -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 ---- - 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 - diff --git a/build.config.amlogic b/build.config.amlogic index e3eb40ffd..14eff1f8d 100644 --- a/build.config.amlogic +++ b/build.config.amlogic @@ -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=" diff --git a/mk.sh b/mk.sh index 258ccf743..4181718c4 100755 --- a/mk.sh +++ b/mk.sh @@ -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}