U-Boot 图形化配置

ncurses 库提供了一系列的 API 函数供调用者生成基于文本的图形界面,因此需要先在 Ubuntu 中安装 ncurses 库

sudo apt-get install build-essential
sudo apt-get install libncurses5-dev

 menuconfig 重点会用到两个文件: .config 和 Kconfig

.config文件保存着 uboot 的配置项,使用 menuconfig 配置完 uboot 以后肯定要更新.config 文件

Kconfig文件是图形界面的描述文件,也就是描述界面应该有什么内容,很多目录下都会有 Kconfig


 在打开图形化配置界面之前,要先使用“make xxx_defconfig”对 uboot 进行一次默认配置,
只需要一次即可。如果使用“ make clean”清理了工程的话就那就需要重新对 uboot 进行一次配置

进入 uboot 根目录,输入如下命令:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_my_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

如果已经在 uboot 的顶层 Makefile 中定义了 ARCH 和 CROSS_COMPILE 的值可以简化为

make mx6ull_my_defconfig
make menuconfig

 

 

 <Select>:选中按钮,和“Enter”键的功能相同,负责选中并进入某个菜单。
<Exit>:退出按钮,和按两下“Esc”键功能相同,退出当前菜单,返回到上一级。
<Help>:帮助按钮,查看选中菜单的帮助信息。
<Save>:保存按钮,保存修改后的配置文件。
<Load>:加载按钮,加载指定的配置文件。

键盘上的“↑”和“↓”键来选择要配置的菜单,按下“Enter”键进入子菜单。

菜单中高亮的字母就是此菜单的热键,在键盘上按下此高亮字母对应的键可以快速选中对应菜单。
选中子菜单以后按下“Y”键就会将相应的代码编译进 Uboot 中,菜单前面变为“< * >”

按下“N”键不编译相应的代码,按下“M”键就会将相应的代码编译为模块,菜单前面变为“< M >”。
按两下“Esc”键退出,也就是返回到上一级,按下“?”键查看此菜单的帮助信息

按下“/”打开搜索框,可以在搜索框输入要搜索的内容

使能 dns 命令

进入“Command line interface --->”这个配置项

 选择“Network commands--->”,进入网络相关命令配置项

 选中 dns,然后按下键盘上的“Y”键,此时 dns 前面的“[ ]”变成了“[ * ]”

 按下“Y”键表示编译进 uboot 中,此时“[ ]”变成了“[ * ]”;
按下“N”表示不编译,“[ ]”默认表示不编译

些功能模块是支持编译为模块的,这个一般在 Linux 内核里面很常用, uboot 下面不使用,如果要将某个功能编译为模块,那就按下“M”,此时“[ ]”就会变为“< M >”

按两下 ESC 键即可退出提示界面,相当于返回上一层,一直双击就会退出图形化界面

退出会询问是否保存修改。根据自己实际选择即可

使用下面命令编译uuboot

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16

 不要清理工程,会删除掉.config 文件!通过图形化界面配置所有配置项都会被删除

 编译完成以后烧写到 SD 卡中,重启开发板进入 uboot 命令模式,输入“?”查看是否有“dns”
命令,一般肯定有的。

要先设置一下 dns 服务器的 IP 地址,也就是设置环境变量 dnsip 的值,命令如下:

setenv dnsip 114.114.114.114
saveenv

使用 dns 命令来查看一下百度官网“www.baidu.com”的 IP 地址

(开发板一定要连接到路由器上,而且要保证你的路由器能访问外网)

dns www.baidu.com

下面学习一下如何添加自己的自定义菜单,自定义菜单要求如下:
①、在主界面中添加一个名为“My test menu”,此菜单内部有一个配置项。
②、配置项为“MY_TESTCONFIG”,此配置项处于菜单“My test menu”中。
③、配置项的为变量类型为 bool,默认值为 y。
④、配置项菜单名字为“This is my test config”。

⑤、配置项的帮助内容为“This is a empty config, just for tset!”。

打开顶层 Kconfig,在最后面加入如下代码:

endmenu        # Boot images

menu "My test menu"
config MY_TESTCONFIG
bool "This is my test config"
default y
help
This is a empty config, just for test! 
endmenu # my test menu

 添加完成之后重新打开图形界面看一下

 可以看出,主菜单最后面出现了一个名为“My test menu”的子菜单,这个就是我们上面添加进来的子菜单。进入此子菜单

可以看出,配置项添加成功,选中“This is my test config”配置项
按下“H”看一下帮助文档

 

可以看出,帮助信息也正确。配置项 MY_TESTCONFIG 默认也是被选中的,
因此在.config 文件中肯定会有“CONFIG_MY_TESTCONFIG=y”这一行
 

 最主要的是记住: Kconfig 文件的最终目的就是在.config 文件中生成以“CONFIG_”开头的变量

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值