Buildroot构建根文件系统
一.Preface
构建根文件系统的工具通常有两种,Buildroot和Yocto。6ull这块芯片的出厂根文件系统是使用Yocto进行构建的,但是Yocto会用到国外的镜像包(很大),所以国内开发者一般不使用Yocto工具自己进行构建,要么直接使用厂家(NXP)Yocto构建好的根文件系统,要么使用Buildroot构建根文件系统。
二.What is "Buildroot"
buildroot可以用来构建filesystem、Kernel、uboot。若用来构建根文件系统,不仅包含了busybox的功能,而且还包含了各种常见的第三方库和软件(alsa、iperf、Qt...)。笔者使用的buildroot版本是buildroot-2019.02.6
三.How to use the "Buildroot"
3.1Buildroot目录介绍

system/skeleton下用是文件系统的框架,可以在这里添加用户程序和用户文件。output下的文件系统就是根据这个框架生成的。

output目录用来存放编译好的文件系统
3.2配置Buildroot
- 若需要完全重新构建,先进入builroot顶层目录,然后执行"sudo make clean"命令,buildroot的配置信息和output目录下的filesystem都会被清除。
- 具体步骤根据手册和硬件配置进行配置,这里不做太多介绍。
- 注意
- 1.文件系统格式:nandflash使用ubifs格式。
- 2.不要选择kernel和Uboot进行构建。
3.3文件系统打包
使用make clean后,重新编译生成文件系统大约需要一个小时,若只需要添加文件,则可以进入在target目录下手动添加。具体步骤如下:
- 输入fakeroot指令,以当前⽬录中的环境系统为⽤户使⽤环境
![]()
- 将需要移动的⽂件放到指定的⽂件夹内
- 进入模拟环境的顶层目录输入指令 "tar jcvf rootfs.tar.bz2 *" 进行打包(rootfs.tar.bz2格式适用于nand_flash)
![]()
- 注意:此方法也可用于对filesystem进行压缩


浙公网安备 33010602011771号