参考:https://github.com/Azure/sonic-linux-kernel
sonic 中的内核配置修改不需要编译menuconfig,而是直接修改 patch/kconfig-exclusions
和patch/kconfig-inclusions
。
例如不想内核中包含某些配置,则将这些配置添加到 patch/kconfig-exclusions
CONFIG_REISERFS_FS
CONFIG_JFS_FS
CONFIG_XFS_FS
类似的,想要内核中包含某些配置,则将这些配置添加到patch/kconfig-inclusions
CONFIG_INT340X_THERMAL=m
CONFIG_LOG_BUF_SHIFT=18
如果存在patch/kconfig-exclusions 和patch/kconfig-inclusions 文件,在所以内核patch加载后,会处理这两个文件。将之前编译中包含的kconfig-exclusions中的内核配置删除,或添加kconfig-inclusions中的内核配置。
此外,将检查最终内核配置以验证:
kconfig-exclusions中排除的配置在内核中都没有配置;
kconfig-inclusions中的内核配置的确包含在了内核配置中,并使用了确切的类型(=y, =m)或字符串或数字。