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进行压缩
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通