buildroot编译
Build root用来编译文件系统可以将使用的库编入,是一个很好的编译工具。编译过内核的都知道使用 make menuconfig 就可以勾选我们需要的驱动是否编译到内核中去,当然事先需要先写好嵌入的语句。Buildroot和编译内核一样,也是在buildroot 下make menuconfig
勾选需要的库或者工具。
然后使用 make此命令将执行以下步骤:
按照需要下载源文件;
如果使用内部(internal)工具链则,配置、创建和安装交叉编译工具链;如果外部(external)工具链被用到则导入;
创建和安装被选中的目标包;
如果被选择的话,创内核镜像;
如果被选择的话,创建bootloader;
如果选中创建格式,创建根文件系统。
就主要目录简单介绍一下
/dl 存放下载的源码包
/toolchain 放置编译交叉工具的配置文件与源代码
/fs/ 主要存放各种文件系统的源代码
/fs/skeleton 存放骨架,第一次生成文件系统镜像的地方
/Linux linux源码存放地方
/configs 预先放置了一些开发板的配置参考,有arm,X86和MIPS等,还发现了我的入门开发板Mini2440,亮瞎眼了。。
/board 发现友善之臂的配置文件
/boot bootloader的一些配置,可以通过配置下载源码
/package 主要存放应用软件的配置文件,未来开发的主战场,可以通过配置其文件,增加源码包或者删减,利用 buildroot来实现交叉编译
/Output 编译的生成目录
/Output/images 编译生成镜像
/Output/build 编译的源码包,buildroot从dl的包解压缩到build里面,然后再编译
/Output/staging 这个目录非常重要,它提供了交叉编译依赖的库,一般进行make的时候,都会利用staging的库文件进行链接
/Output/target 嵌入式设备下的根文件系统,里面是我们实际烧写的根文件系统镜像
/Output/host 交叉编译工具位置如arm-linux-gc
/Output/toolchain 第三方交叉编译工具位置,我的目录是空的。
从目录发现buildroot,只要合理使用buildroot完全可以从bootloader开发到QT图像界面应用程序,笔者,手上的几块开发板也是使用buildroot来实现文件系统和应用软件服务的。