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来实现文件系统和应用软件服务的。

 

 1.png

 

sitemap