目录
1.U-Boot 图形化配置体验
uboot
或
Linux
内核可以通过输入“
make menuconfig
”来打开图形化配置界面,
menuconfig
是一套图形化的配置工具,需要
ncurses
库支持。
ncurses
库提供了一系列的
API
函数供调用者
生成基于文本的图形界面,因此需要先在
Ubuntu
中安装
ncurses
库,命令如下:
sudo apt-get install build-essentialsudo apt-get install libncurses5-dev
menuconfig
重点会用到两个文件:
.config
和
Kconfig
,
.config
文件前面已经说了,这个文
件保存着
uboot
的配置项,使用
menuconfig
配置完
uboot
以后肯定要更新
.config
文件。
Kconfig
文件是图形界面的描述文件,也就是描述界面应该有什么内容,很多目录下都会有
Kconfig
文
件。
在打开图形化配置界面之前,要先使用“
make xxx_defconfig
”对
uboot
进行一次默认配置,
只需要一次即可。如果使用“
make clean
”清理了工程的话就那就需要重新使用“
make
xxx_defconfig
”再对
uboot
进行一次配置。进入
uboot
根目录,输入如下命令:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_emmc_defconfigmake ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
如果已经在
uboot
的顶层
Makefile
中定义了
ARCH
和
CROSS_COMPILE
的值,那么上述
命令可以简化为:
make mx6ull_alientek_emmc_defconfigmake menuconfig
通过键盘上的“↑”和“↓”键来选择要配置的菜单,按下“
Enter
”键进入子菜单。菜单
中高亮的字母就是此菜单的热键,在键盘上按下此高亮字母对应的键可以快速选中对应的菜单。
选中子菜单以后按下“
Y
”键就会将相应的代码编译进
Uboot
中,菜单前面变为“
< * >
”。按下
“
N
”键不编译相应的代码,按下“
M
”键就会将相应的代码编译为模块,菜单前面变为“
< M >
”。
按两下“
Esc
”键退出,也就是返回到上一级,按下“
?
”键查看此菜单的帮助信息,按下“
/”
键打开搜索框,可以在搜索框输入要搜索的内容。
在配置界面下方会有五个按钮,这五个按钮的功能如下:
<Select>
:选中按钮,和“
Enter
”键的功能相同,负责选中并进入某个菜单。
<Exit>
:退出按钮,和按两下“
Esc
”键功能相同,退出当前菜单,返回到上一级。
<Help>
:帮助按钮,查看选中菜单的帮助信息。
<Save>
:保存按钮,保存修改后的配置文件。
<Load>
:加载按钮,加载指定的配置文件。
我们就以如何使能
dns
命令为例,讲解一下如何通过图形化界面来配置
uboot
。进入
“
Command line interface --->
”这个配置项,此配置项用于配置
uboot
的命令,进入以后如图
34.1.2
所示

从图
34.1.2
可以看出,有很多配置项,这些配置项也有子配置项,选择“
Network commands
--->
”,进入网络相关命令配置项,如图
34.1.3
所示:

从图
34.1.3
可以看出,
uboot
中有很多和网络有关的命令,比如
bootp
、
tftpboot
、
dhcp
等
等。选中
dns
,然后按下键盘上的“
Y
”键,此时
dns
前面的“
[ ]
”变成了“
[ * ]
”,如图
34.1.4
所示:

每个选项有
3
种编译选项:编译进
uboot
中
(
也就是编译进
u-boot.bin
中
)
、取消编译
(
也就是
不编译这个功能模块
)
、编译为模块。按下“
Y
”键表示编译进
uboot
中,此时“
[ ]
”变成了“
[ * ]
”;
按下“
N
”表示不编译,“
[ ]
”默认表示不编译;