![图片[1] - openwrt开发环境make menuconfig菜单选项分析 - 宋马](https://pic.songma.com/blogimg/20250605/a018bf98c6764ef19ef043702caa8e79.png)
整个显示界面大致分为三部分,上方是操作的说明和图例说明。
按下Enter键进入子菜单。
按下Y键,选中这项功能。
按下N键,排除这项功能 。
按下M键,以模块的形式选择。
按两下Esc键,返回上一级菜单
<?> 按下?键,查看高亮功能的帮助信息
</> 按下/键,搜索
[*] 被选中的项目
[ ] 未被选择的项目
以模块形式被选择的项目
< > 未被选择的模块
中间部分就是我们要选择的各项功能了,使用上下两个方向键进行选择,也可以使用关键字进行跳转。 如我们在当前项目还是Target System时,可以看到Firmware 的字母F被高亮显示,我们直接按下F键, 就能将当前的项目跳转到Firmware。
![图片[2] - openwrt开发环境make menuconfig菜单选项分析 - 宋马](https://pic.songma.com/blogimg/20250605/66b08bda3cfd4368a25881871611a054.png)

了解了menuconfig的基本操作,我们再来了解一下OpenWrt的menuconfig具体都有什么内容。

Target System、Subtarget、Target Profile
分别选择芯片的厂商或系列、具体的芯片型号、使用这种型号的具体产品
如上图所示,我们使用了MediaTek Ralink MIPS(联发科(MediaTek)旗下雷凌(Ralink)部门开发的基于 MIPS 架构 的无线通信芯片组),具体为MT7621。实际的产品型号是小米CR6608.
由于MT7621系列的源码是通用的,差别只在配置部分,我们可以用一份源码来编译出多个型号的固件镜像。 比如同为小米CR660*系列,我们只需要修改Target Profile就可以选择新的型号。 由于两个型号所用主芯片是一样的,他们共用的编译工具链和软件包无需再次编译, 我们只需要进行少量的编译工作即可得另一个设备的固件镜像。
Target Images
对生成镜像的压缩格式、文件系统格式和镜像空间的设置。 我们可以修改Root filesystem partition size 来设置用户空间的大小。

Firmware
具有处理器的外设所用固件的选择。
比如部分网卡在工作时,就需要把指定的firmware传输到网卡芯片上才能正常工作, 此时的firmware可以看做是网卡本身运行的操作系统。

Kernel modules
Linux内核功能模块的选择,例如存储设备,USB设备,网络设备等。
在OpenWrt的设置中,就可以实现对内核模块的管理,如果我们继续修改内核配置文件, 就有可能导致配置冲突。这就是为什么不建议直接修改内核配置的原因, 建议在OpenWrt的的设置中找不到相关配置项时,再修改内核配置文件。

LuCI(openwrt官方开源web框架)
LuCI的配置包括以下几部分
Collections :基础功能选择
Modules :luci使用到的基本功能模块的选择,其中的Translations选项可以修改语言设置。
Applications :基于luci的应用程序的选择
Themes :显示主题的选择
Protocols :数据传输协议的选择
Libraries :依赖库的选择
menuconfig配置保存
完成配置之后,我们可以选择使用左右方向键选择 < save > 并按下Enter键。
如果修改配置文件名称的话,就是将当前的配置另外保存到指定文件;不修改的话默认保存在.config中, 然后选择 ok 确认,就可以继续进行配置了修改了。如果不想保存,那么可以按两下 Esc 键返回。
当然也可以不使用上面的操作,在全部修改都完成之后,连按 Esc 键,就会退出menuconfig。 在退出时会提醒是否保存配置文件,选择 Yes 即可保存配置,如果不想保存可以选择 No , 如果还想继续修改,可以按两下 Esc 键返回menuconfig继续修改。




















暂无评论内容