5. menuconfig 功能简述¶
menuconfig是一个可以在终端显示的图形化配置界面,他不仅可以极大的方便我们对于配置文件的修改, 还能自动处理依赖关系。类似的还有图形化配置界面还有nconfig和xconfig。
5.1. menuconfig的基本操作¶
我们使用以下命令来打开 menuconfig 界面
1 2 3 4 5 | #打开OpenWrt的menuconfig配置界面
make menuconfig
#打开Linux内核的menuconfig配置界面
make kernel_menuconfig
|
一般情况下,不建议直接对内核配置进行修改,而是修改OpenWrt中关于内核的部分。
我们运行 make menuconfig 之后,会打开如下图所示的界面
整个显示界面大致分为三部分,上方是操作的说明和图例说明。
<Enter> 按下Enter键进入子菜单。
<Y> 按下Y键,选中这项功能。
<N> 按下N键,排除这项功能 。
<M> 按下M键,以模块的形式选择。
<Esc><Esc> 按两下Esc键,返回上一级菜单
<?> 按下?键,查看高亮功能的帮助信息
</> 按下/键,搜索
[*] 被选中的项目
[ ] 未被选择的项目
<M> 以模块形式被选择的项目
< > 未被选择的模块
中间部分就是我们要选择的各项功能了,使用上下两个方向键进行选择,也可以使用关键字进行跳转。 如我们在当前项目还是Target System时,可以看到Firmware 的字母F被高亮显示,我们直接按下F键, 就能将当前的项目跳转到Firmware。
最下方是功能选择按钮,功能与案件基本重合。使用左右方向键选择,Enter键选中。
<Select> 进入下级菜单
< Exit > 退回上一级菜单,在最顶层菜单就是退出menuconfig
< Help > 显示当前选项的帮助信息
< Save > 手动保存配置文件
< Load > 加载指定的配置文件,默认加载的是.config
5.2. OpenWrt menuconfig说明¶
了解了menuconfig的基本操作,我们再来了解一下OpenWrt的menuconfig具体都有是么内容。
5.2.1. Target System、Subtarget、Target Profile¶
分别选择芯片的厂商或系列、具体的芯片型号、使用这种型号的具体产品。
如上图所示,我们使用了Rockchip的RK33xx系列芯片,具体为RK3328。实际的产品型号是EmbedFire DoorNet1。
由于DoorNet系列的源码是通用的,差别只在配置部分,我们可以用一份源码来编译出多个型号的固件镜像。 比如同为RK33xx系列芯片的DoorNet2,我们只需要修改Target Profile就可以选择新的型号。 由于两个型号所用主芯片差异小,他们共用的编译工具链和软件包无需再次编译, 我们只需要进行少量的编译工作即可得另一个设备的固件镜像。
5.2.2. Target Images¶
对生成镜像的压缩格式、文件系统格式和镜像空间的设置。 我们可以修改Root filesystem partition size 来设置用户空间的大小。
5.2.3. Firmware¶
具有处理器的外设所用固件的选择。
比如部分网卡在工作时,就需要把指定的firmware传输到网卡芯片上才能正常工作, 此时的firmware可以看做是网卡本身运行的操作系统。
5.2.4. Kernel modules¶
Linux内核功能模块的选择,例如存储设备,USB设备,网络设备等。
在OpenWrt的设置中,就可以实现对内核模块的管理,如果我们继续修改内核配置文件, 就有可能导致配置冲突。这就是为什么不建议直接修改内核配置的原因, 建议在OpenWrt的的设置中找不到相关配置项时,再修改内核配置文件。
5.2.5. LuCI¶
LuCI的配置包括以下几部分
Collections :基础功能选择
Modules :luci使用到的基本功能模块的选择,其中的Translations选项可以修改语言设置。
Applications :基于luci的应用程序的选择
Themes :显示主题的选择
Protocols :数据传输协议的选择
Libraries :依赖库的选择
5.3. menuconfig配置保存¶
完成配置之后,我们可以选择使用左右方向键选择 < save > 并按下Enter键。
如果修改配置文件名称的话,就是将当前的配置另外保存到指定文件;不修改的话默认保存在.config中, 然后选择 ok 确认,就可以继续进行配置了修改了。如果不想保存,那么可以按两下 Esc 键返回。
当然也可以不使用上面的操作,在全部修改都完成之后,连按 Esc 键,就会退出menuconfig。 在退出时会提醒是否保存配置文件,选择 Yes 即可保存配置,如果不想保存可以选择 No , 如果还想继续修改,可以按两下 Esc 键返回menuconfig继续修改。