一、Uboot图形化配置方法
1、通过终端配置。
2、进入到uboot的源码根目录下。
3、首先默认配置
make mx6ull_alientek_emmc_defconfig //默认配置
4、输入make menuconfig。打开图形化配置界面。
5、注意,新电脑需要安装ncurses库。
sudo apt-get install libncurses5-dev
图形化配置界面对于一个功能的编译,或者叫做选择有3中模式:
Y:对应的功能编译uboot里面。
N:对应的功能不编译进uboot里面
M:将对应的功能编译位模块,.ko,Linux内核里面常用。当我们配置好以后,需要保存一下自己的配置文件。
二、menuconfig图形化配置原理
uboot 或 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面,menuconfig 是一套图形化的配置工具,需要ncurses库支持。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”清理了工程的话就那就需要重新使用“make xxx_defconfig”再对 uboot 进行一次配置。进入uboot根目录,输入如下命令:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ull_alientek_emmc_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
如果已经在uboot的顶层Makefile 中定义了ARCH和CROSS_COMPILE 的值,那么上述 命令可以简化为:
make mx6ull_alientek_emmc_defconfig
make menuconfig
Kconfig文件,uboot源码根目录下的Kconfig。Kconfig文件就是图形化界面配置文件。
2.1 mainmenu
主菜单,
2.2 调用子目录下的Kconfig
source “xxx/Kconfig”
2.3 menu/endmenu
这两个之间是子菜单。
2.4 choice/endchoice
多选一。
2.5 config条目
Config条目都是以config条目开头的。后面紧跟着配置项,比如LOCALVERSION,使能了条目以后就会在.config里面生成CONFIG_LOCALVERSION=y。
2.6 depends on和select
当选中某一项以后,select对应的项目都会选中。
Depends on指定的项目要先被·选中,否则指定的项目不能选择。
2.7 menuconfig
三、添加自定义菜单
比如增加了dns功能后,保存配置文件
./configs/my_test_defconfig
后面make menuconfig,Load 新保存的配置文件