ZHCAG72 September 2026
自定义裁减需要修改arch/arm64/configs/defconfig中的配置,比如将CONFIG_PPS设置为y时将该配置的相关代码编入内核中并在内核启动时启动,设置为m时即为动态加载的模块,在内核启动完成后文件系统启动时加载,设置为n时则禁用。然而需要注意的是,很多模块具有相互依赖的关系,因此简单修改defconfig可能并不生效,具体是否生效可以在编译后查看Linux SDK目录下board-support/ti-linux-xxxx目录下.config确认最终生效的配置。例如,B模块依赖于A,将A配置为禁用,但是B配置为使能,编译完会发现在.config中A仍然能被使能。
自定义裁减也可以使用Linux配置工具menuconfig进行配置,该配置工具在配置时会检查依赖关系,帮助有效配置。
举个例子,如下图所示,在目标应用中可能不需要使用蓝牙以及相关协议栈,使用menuconfig时会打开图形界面,使用方向键进行选择控制。
图 4-1 Menuconfig界面选择网络支持项后,可以看到蓝牙相关选项。在蓝牙选项上按m则配置为动态加载的模块,按n配置为禁用,按y配置为内核模块,会与内核一起启动。
图 4-2 在Menuconfig界面中配置蓝牙修改完成后,选择保存。
图 4-3 保存Menuconfig