在uboot里,编译文件时,先要配置.config文件,然后Makefile在编译时通过读取.config文件的配置来选择要编译的文件。.config文件的生成可通过make menuconfig 或make xxx_defconfig 方式生成,这两种方式看上去虽然不同,但是两者的原理是一样的,都是通过Kconfig文件的配置来的。
一般来说,开发板厂商会提供对应开发板的xxx_defconfig文件,编译时我们需要做的是:
1.make xxx_defconfig
当你使用某一款开发板时,可以直接在文件里面写入所要编译的模块配置,也可以啥都不加,使用厂商默认的配置直接编译。执行命令之后,配置内容会写入顶层目录下的.config(隐藏文件,可 ls -a查看)文件内;一般xxx_deconfig文件存放在/configs/目录下。
2.make menuconfig
这种方式配置.config文件,主要通过配置图形化界面来选择要加载的文件,而图形化界面是通过读取每个目录下的Kconfig文件来的,每一个目录基本都一个Kconfig文件;同理,执行命令后,配置内容会写入顶层目录下的.config(隐藏文件,可 ls -a查看)文件内。往后需要配置什么模块,可使用该命令进行配置,这样就可以不用再在xxx_defconifg里添加了。
3.make
make即编译产生最终文件,前面两个命令都只是配置。