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进行压缩
posted @   Charles_hui  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示