author | Hanjie Lin <hanjie.lin@amlogic.com> | 2020-11-17 02:05:22 (GMT) |
---|---|---|
committer | Xindong Xu <xindong.xu@amlogic.com> | 2020-11-26 01:01:12 (GMT) |
commit | 44342ec612d032b7dbf9e1dae48053885e3713bb (patch) | |
tree | b49e3f0ceadb4013bf5b1bef1b04ee3d7a41b981 | |
parent | 1567275a99aa692e1bb4710d6b147034171c612e (diff) | |
download | common-44342ec612d032b7dbf9e1dae48053885e3713bb.zip common-44342ec612d032b7dbf9e1dae48053885e3713bb.tar.gz common-44342ec612d032b7dbf9e1dae48053885e3713bb.tar.bz2 |
gki: add builtin modules support [1/6]
PD#SWPL-36860
Problem:
add builtin modules support
add blacklist modules
Solution:
modify script and mk
Verify:
SC2
Signed-off-by: Hanjie Lin <hanjie.lin@amlogic.com>
Change-Id: Ie1eda4aaa1079aaa148a96cba10ed1b52a6c2178
-rw-r--r-- | build_kernel_modules.mk | 40 | ||||
-rwxr-xr-x | kernelbuild/build.sh | 31 | ||||
-rwxr-xr-x | kernelbuild/mk_script.sh | 5 |
3 files changed, 57 insertions, 19 deletions
diff --git a/build_kernel_modules.mk b/build_kernel_modules.mk index cb65aae..11fd196 100644 --- a/build_kernel_modules.mk +++ b/build_kernel_modules.mk @@ -33,25 +33,31 @@ BOARD_PREBUILT_DTBOIMAGE := $(DEVICE_PRODUCT_PATH)-kernel/$(TARGET_KERNEL_DIR)/d ########################################################### BOARD_DO_NOT_STRIP_VENDOR_RAMDISK_MODULES := true +RAMDISK_KERNEL_MODULES_LOAD_FIRSTLIST ?= aml_pinctrl.ko \ + reset-meson.ko \ + meson_clk.ko \ + aml_usb2phy.ko \ + aml_usb3v2phy.ko \ + aml_usbotg.ko \ + dwc3-of-simple.ko \ + dwc3.ko \ + xhci-plat-hcd.ko \ + dwc_otg.ko \ + aml_media.ko + +RAMDISK_KERNEL_MODULES_LOAD_BLACKLIST ?= will_not_load.ko + ifneq ($(TARGET_BUILD_KERNEL_4_9),true) ifneq ($(KERNEL_A32_SUPPORT),true) - RAMDISK_KERNEL_MODULES += \ - $(wildcard device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/*.ko) - - RAMDISK_KERNEL_MODULES_LOAD += \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/reset-meson.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/meson_clk.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/aml_pinctrl.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/aml_usb2phy.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/aml_usb3v2phy.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/aml_usb3v3phy.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/aml_usbotg.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/dwc3-of-simple.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/dwc3.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/xhci-plat-hcd.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/dwc_otg.ko \ - device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/aml_media.ko \ - $(RAMDISK_KERNEL_MODULES) + RAMDISK_KERNEL_MODULES := $(wildcard device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/*.ko) + RAMDISK_KERNEL_MODULES_LOAD := $(RAMDISK_KERNEL_MODULES) + + __LOAD_FIRSTLIST := $(foreach module, $(RAMDISK_KERNEL_MODULES_LOAD_FIRSTLIST), device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/$(module)) + RAMDISK_KERNEL_MODULES_LOAD := $(filter-out $(__LOAD_FIRSTLIST), $(RAMDISK_KERNEL_MODULES_LOAD)) + RAMDISK_KERNEL_MODULES_LOAD := $(__LOAD_FIRSTLIST) $(RAMDISK_KERNEL_MODULES_LOAD) + + __LOAD_BLACKLIST := $(foreach module, $(RAMDISK_KERNEL_MODULES_LOAD_BLACKLIST), device/amlogic/$(PRODUCT_DIR)-kernel/$(TARGET_KERNEL_DIR)/ramdisk/lib/modules/$(module)) + RAMDISK_KERNEL_MODULES_LOAD := $(filter-out $(__LOAD_BLACKLIST), $(RAMDISK_KERNEL_MODULES_LOAD)) ifeq ($(BUILDING_VENDOR_BOOT_IMAGE),true) BOARD_VENDOR_RAMDISK_KERNEL_MODULES ?= $(RAMDISK_KERNEL_MODULES) diff --git a/kernelbuild/build.sh b/kernelbuild/build.sh index 2021d11..9de1763 100755 --- a/kernelbuild/build.sh +++ b/kernelbuild/build.sh @@ -304,8 +304,25 @@ set -x if [ $KERNEL_A32_SUPPORT ]; then (cd ${KERNEL_DIR} && make "${TOOL_ARGS[@]}" O=${OUT_DIR} ${MAKE_ARGS} meson64_a32_defconfig) else -cat ${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${KERNEL_DIR}/arch/arm64/configs/meson64_gki.fragment > ${KERNEL_DIR}/arch/arm64/configs/meson64_a64_gki_defconfig -(cd ${KERNEL_DIR} && make "${TOOL_ARGS[@]}" O=${OUT_DIR} ${MAKE_ARGS} meson64_a64_gki_defconfig) + if [ "$CONFIG_BUILTIN_MODULES" == true ];then + echo "builtin_modules defconfig" + cat ${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${KERNEL_DIR}/arch/arm64/configs/meson64_gki.fragment $GKI_EXT_MODULE_CFG > ${KERNEL_DIR}/arch/arm64/configs/meson64_a64_gki_defconfig + sed -i 's/=m/=y/g' ${KERNEL_DIR}/arch/arm64/configs/meson64_a64_gki_defconfig + (cd ${KERNEL_DIR} && make "${TOOL_ARGS[@]}" O=${OUT_DIR} ${MAKE_ARGS} meson64_a64_gki_defconfig) + + cp ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox.dtsi ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox.dtsi.org + cp ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox.dtsi ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox.dtsi.32M + sed -i ':a;N;$!ba;s/\(boot:boot[^}]*\)size[^;]*;/\1size = <0x0 0x2000000>;/' ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox.dtsi.32M + cp ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox.dtsi.32M ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox.dtsi + + cp ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox_ab.dtsi ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox_ab.dtsi.org + cp ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox_ab.dtsi ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox_ab.dtsi.32M + sed -i ':a;N;$!ba;s/\(boot_[ab]:boot_[ab][^}]*\)size[^;]*;/\1size = <0x0 0x2000000>;/g' ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox_ab.dtsi.32M + cp ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox_ab.dtsi.32M ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox_ab.dtsi + else + cat ${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${KERNEL_DIR}/arch/arm64/configs/meson64_gki.fragment > ${KERNEL_DIR}/arch/arm64/configs/meson64_a64_gki_defconfig + (cd ${KERNEL_DIR} && make "${TOOL_ARGS[@]}" O=${OUT_DIR} ${MAKE_ARGS} meson64_a64_gki_defconfig) + fi fi set +x @@ -407,10 +424,15 @@ if [ -n "${BUILD_INITRAMFS}" -o -n "${IN_KERNEL_MODULES}" ]; then fi # basic common modules build as extern +if [ "$CONFIG_BUILTIN_MODULES" == true ];then +cp ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox.dtsi.org ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox.dtsi +cp ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox_ab.dtsi.org ${KERNEL_DIR}/arch/arm64/boot/dts/amlogic/partition_mbox_ab.dtsi +else EXT_MODULES+="common/drivers/amlogic common/sound/soc/amlogic common/sound/soc/codecs/amlogic " +fi if [[ -z "${SKIP_EXT_MODULES}" ]] && [[ -n "${EXT_MODULES}" ]]; then echo "========================================================" @@ -774,6 +796,11 @@ RAMDISK_TARGET=${ROOT_DIR}/${PRODUCT_DIRNAME}-kernel/5.4/ramdisk/ rm -fr ${RAMDISK_TARGET}/ mkdir -p ${RAMDISK_TARGET}/lib/modules/symbols/ +if [ "$CONFIG_BUILTIN_MODULES" == true ];then + echo "builtin modules, skip copy!" + exit 0; +fi + for loop in `find ${MODULES_STAGING_DIR}/lib/modules/*/kernel/ -type f | grep "\.ko$"` do cp $loop ${RAMDISK_TARGET}/lib/modules/ diff --git a/kernelbuild/mk_script.sh b/kernelbuild/mk_script.sh index 8dad802..47f1db1 100755 --- a/kernelbuild/mk_script.sh +++ b/kernelbuild/mk_script.sh @@ -231,6 +231,11 @@ function bin_path_parser() { --nonGKI) CONFIG_NONGKI=true continue ;; + --builtin_modules) + CONFIG_BUILTIN_MODULES=true + echo "CONFIG_BUILTIN_MODULES: true" + export CONFIG_BUILTIN_MODULES + continue ;; *) esac done |