From 801f71c5e2c5b9794332be5748ad335bbd770ff0 Mon Sep 17 00:00:00 2001 From: ksaipr036 Date: Wed, 5 Aug 2026 16:58:28 +0530 Subject: [PATCH] RDKBACCL-1935: Minimalize the kernel modules for BPI-R4 extender build Reason for Change: Remove kernel modules that are not required for the extender build to optimize kernel configuration. Test Procedure: Verify that the basic EasyMesh(EM) functionality works as expected. Risks: None Signed-off-by: ksaipr036 --- .../linux/files/rdkb_cfg/container_ext.cfg | 18 +++++ .../linux/files/rdkb_cfg/iptables_nf_ext.cfg | 20 ++++++ .../linux/files/rdkb_cfg/kernel_6_6_ext.cfg | 25 +++++++ .../linux/files/rdkb_cfg/kernel_v6_ext.cfg | 67 +++++++++++++++++++ .../linux/linux-mediatek_%.bbappend | 11 ++- 5 files changed, 135 insertions(+), 6 deletions(-) create mode 100644 meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/container_ext.cfg create mode 100644 meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/iptables_nf_ext.cfg create mode 100644 meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/kernel_6_6_ext.cfg create mode 100644 meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/kernel_v6_ext.cfg diff --git a/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/container_ext.cfg b/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/container_ext.cfg new file mode 100644 index 00000000..76457694 --- /dev/null +++ b/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/container_ext.cfg @@ -0,0 +1,18 @@ +CONFIG_VETH=y +######################################## +# REMOVING THE BELOW CFG FROM EXISTING # +######################################## +#CONFIG_CGROUP_PIDS=y +#CONFIG_CGROUP_DEVICE=y +#CONFIG_MEMCG=y +#CONFIG_BLK_CGROUP=y +#CONFIG_NAMESPACES=y +#CONFIG_UTS_NS=y +#CONFIG_IPC_NS=y +#CONFIG_USER_NS=y +#CONFIG_PID_NS=y +#CONFIG_NET_NS=y +#CONFIG_NETFILTER_XT_TARGET_LOG=y +#CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y +#CONFIG_CGROUP_FREEZER=y +####################################### diff --git a/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/iptables_nf_ext.cfg b/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/iptables_nf_ext.cfg new file mode 100644 index 00000000..013e3593 --- /dev/null +++ b/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/iptables_nf_ext.cfg @@ -0,0 +1,20 @@ +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NETFILTER_XT_TARGET_CT=y +#==============================# +# Removing below kernel mod # +#==============================# +#CONFIG_USB_NET_QMI_WWAN=y +#CONFIG_BT_HCIBTUSB=y +#CONFIG_BT_HCIBTUSB_RTL=y +#CONFIG_BT_INTEL=y +#CONFIG_USB_ACM=y +#CONFIG_TUN=y +#CONFIG_BT_HCIUART=y +#CONFIG_BT_HCIUART_SERDEV=y +#CONFIG_BT_HCIUART_BCM=y +#CONFIG_BT_HCIUART_QCA=y +#CONFIG_BT_HCIUART_BCSP=y +#CONFIG_BT_HCIUART_H4=y +#CONFIG_IEEE802154=y +#CONFIG_MAC802154=y +#==============================# diff --git a/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/kernel_6_6_ext.cfg b/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/kernel_6_6_ext.cfg new file mode 100644 index 00000000..7cfedc77 --- /dev/null +++ b/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/kernel_6_6_ext.cfg @@ -0,0 +1,25 @@ +CONFIG_USB=y +CONFIG_USB_COMMON=y +CONFIG_USB_STORAGE=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_USBNET=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_MTK=y +CONFIG_MTD_UBI=n +CONFIG_I2C_MUX=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_SFP=y +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_FC=y +CONFIG_NVME_TARGET=y +CONFIG_NVME_TCP=y +######################################## +# REMOVING THE BELOW CFG FROM EXISTING # +######################################## +#CONFIG_BT=y +#CONFIG_USB_NET_AX88179_178A=y +#CONFIG_USB_RTL8152=y +#CONFIG_SCHEDSTATS=y +#CONFIG_USB_UAS=y +######################################## diff --git a/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/kernel_v6_ext.cfg b/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/kernel_v6_ext.cfg new file mode 100644 index 00000000..e981d2c5 --- /dev/null +++ b/meta-rdk-mtk-bpir4/recipes-kernel/linux/files/rdkb_cfg/kernel_v6_ext.cfg @@ -0,0 +1,67 @@ +CONFIG_USB=y +CONFIG_USB_COMMON=y +CONFIG_USB_STORAGE=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_USBNET=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_MTK=y +CONFIG_MTD_UBI=n +CONFIG_I2C_MUX=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_SFP=y +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_FC=y +CONFIG_NVME_TARGET=y +# HW RNG: renamed from HW_RANDOM_MTK to HW_RANDOM_MTK_V2 in 6.12 +CONFIG_HW_RANDOM_MTK_V2=y +# Scheduler: renamed from SCHED_THERMAL_PRESSURE in 6.12 +CONFIG_SCHED_HW_PRESSURE=y +#New Airoha AN8811HB PHY (replaces EN8811H driver in 6.12) +CONFIG_AIR_AN8811HB_PHY=y +# MT7988 PCIe PHY — now requires explicit enable in 6.12 +CONFIG_PHY_MTK_PCIE=y +# MT7988 CCI dynamic frequency scaling +CONFIG_PM_DEVFREQ=y +CONFIG_ARM_MEDIATEK_CCI_DEVFREQ=y +CONFIG_DEVFREQ_GOV_PASSIVE=y +CONFIG_PM_DEVFREQ_EVENT=y +# MTD: MSTC boot partition split (6.12 MT7988 BSP) +CONFIG_MTD_SPLIT_MSTC_BOOT=y +# Security: SECCOMP now a separate symbol in 6.12 (was implicit) +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +# Stack protection: per-task canary (ARM64 feature in 6.12) +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_PER_TASK=y +# FUSE: required for container overlayfs rootfs (DAC/Dobby stack) +CONFIG_FUSE_FS=y +CONFIG_FS_STACK=y +# CFS bandwidth: enables CPU quota for AiMLOps inference containers +CONFIG_CFS_BANDWIDTH=y +CONFIG_GROUP_SCHED_WEIGHT=y +# U-Boot env NVMEM layout (6.12 feature — useful for boot param access) +CONFIG_NVMEM_LAYOUT_U_BOOT_ENV=y +# MTK Device APC (bus access control, security hardening) +CONFIG_MTK_DEVAPC=y +# AS21XXX PHY support (new in 6.12 BSP) +CONFIG_AS21XXX_PHY=y +# PCIE ASPM policy: review if EM05-G cellular latency is affected +# Default in 6.12 is POWER_SUPERSAVE; uncomment to restore PERFORMANCE: +#CONFIG_PCIEASPM_PERFORMANCE=y +# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set +CONFIG_MEMCG_V1=y +CONFIG_CPUSETS_V1=y + +######################################## +# REMOVING THE BELOW CFG FROM EXISTING # +######################################## +#CONFIG_USB_UAS=y +#CONFIG_BT=y +#CONFIG_USB_NET_AX88179_178A=y +#CONFIG_USB_RTL8152=y +#CONFIG_NVME_TCP=y +#CONFIG_AIR_AN8811HB_PHY_DEBUGFS=y +# IIO: Industrial I/O framework (enabled in 6.12 — enables sensor subsystem) +#CONFIG_IIO=y +######################################## diff --git a/meta-rdk-mtk-bpir4/recipes-kernel/linux/linux-mediatek_%.bbappend b/meta-rdk-mtk-bpir4/recipes-kernel/linux/linux-mediatek_%.bbappend index 99681d45..4f1446ab 100644 --- a/meta-rdk-mtk-bpir4/recipes-kernel/linux/linux-mediatek_%.bbappend +++ b/meta-rdk-mtk-bpir4/recipes-kernel/linux/linux-mediatek_%.bbappend @@ -3,13 +3,13 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" SRC_URI += "file://0001-add-support-for-port-triggering.patch" SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES','kernel6-12','file://BPI-resolving-port-triggering-errors_6_12.patch',bb.utils.contains('DISTRO_FEATURES','kernel6-6','file://BPI-resolving-port-triggering-errors_6_6.patch','file://BPI-resolving-port-triggering-errors.patch',d), d)}" SRC_URI:append = " \ - file://rdkb_cfg/iptables_nf.cfg \ - file://rdkb_cfg/bridge_mode.cfg \ + ${@bb.utils.contains('DISTRO_FEATURES', 'em_extender', ' file://rdkb_cfg/iptables_nf_ext.cfg', ' file://rdkb_cfg/iptables_nf.cfg', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'em_extender', ' ', ' file://rdkb_cfg/bridge_mode.cfg', d)} \ file://rdkb_cfg/coredump.cfg \ file://rdkb_cfg/ip6tables_nf.cfg \ ${@bb.utils.contains_any('DISTRO_FEATURES','kernel6-12 kernel6-6', ' file://netfilter_v6.cfg', ' file://netfilter.cfg', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES','kernel6-12', ' file://rdkb_cfg/kernel_v6.cfg',bb.utils.contains('DISTRO_FEATURES','kernel6-6',' file://rdkb_cfg/kernel_6_6.cfg', '',d), d)} \ - file://rdkb_cfg/container.cfg \ + ${@bb.utils.contains('DISTRO_FEATURES', 'kernel6-12', bb.utils.contains('DISTRO_FEATURES', 'em_extender', ' file://rdkb_cfg/kernel_v6_ext.cfg', ' file://rdkb_cfg/kernel_v6.cfg', d), bb.utils.contains('DISTRO_FEATURES', 'kernel6-6', bb.utils.contains('DISTRO_FEATURES', 'em_extender', ' file://rdkb_cfg/kernel_6_6_ext.cfg', ' file://rdkb_cfg/kernel_6_6.cfg', d), '', d), d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'em_extender', ' file://rdkb_cfg/container_ext.cfg', ' file://rdkb_cfg/container.cfg', d)} \ ${@bb.utils.contains('DISTRO_FEATURES','sdmmc',bb.utils.contains_any('DISTRO_FEATURES','kernel6-12 kernel6-6', ' file://rdkb_cfg/sdmmc_v6.cfg', ' file://rdkb_cfg/sdmmc.cfg',d), '', d)} \ file://rdkb_cfg/wps_key.cfg \ ${@bb.utils.contains('DISTRO_FEATURES','kernel6-6', ' file://enable_sdcard_6_6.patch;apply=no', '', d)} \ @@ -17,8 +17,7 @@ SRC_URI:append = " \ ${@bb.utils.contains('DISTRO_FEATURES','kernel6-12', ' file://enable_sdcard_v6.patch;apply=no', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES','kernel6-12', ' file://bluetooth_v6.patch;apply=no', '', d)} \ " -SRC_URI:append:mt7988 = "${@bb.utils.contains('DISTRO_FEATURES', 'cellular_hybrid_support', ' file://rdkb_cfg/rdkb-usb.cfg', '', d)}" - +SRC_URI:append:mt7988 = "${@bb.utils.contains('DISTRO_FEATURES', 'cellular_hybrid_support', bb.utils.contains('DISTRO_FEATURES','em_extender', ' ', ' file://rdkb_cfg/rdkb-usb.cfg', d), '', d)}" CMDLINE:append = " cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1 " do_filogic_patches:append() {