全志V3S嵌入式驱动开发 - 制作根文件系统
-
根文件系统是嵌入式开发很重要的一环。目前对于大多数soc来说,制作嵌入式系统就是配置buildroot文件。今天使用的buildroot版本是buildroot-2017.08.tar.gz,大家也可以使用自己比较熟悉的buildroot版本,关键是配置信息需要选对。
1、解压文件
tar xzvf buildroot-2017.08.tar.gz
下载地址如下所示,
https://buildroot.org/downloads/
2、开始准备配置
配置的方法其实和内核编译比较接近,也是make menuconfig。
cd buildroot-2017.08 make menuconfig
配置主要有两部分,一部分是关于cpu的,一部分是关于toolchain交叉编译的。有这两部分选好了,最基本的rootfs就可以编译出来。
3、配置cpu
配置cpu的部分主要就是两点,第一,选择ARM little endian;第二,选择cotex-A7。其他的配置都选择默认就好了。
4、toolchain编译器的配置
这部分的配置有几个方面,第一,告诉buildroot,这里使用自己的编译器,
第二,告知buildroot,不使用它推荐的编译器,
第三,设置自定义编译器的位置,
第四,依次设置编译器前缀、gcc版本、内核头文件版本、glibc库、使能SSP、RPC、C++。
5、保存
退出的时候,提示是否保存,直接选择“是”即可。
6、开始编译
make clean; make
7、确认是否编译成功
等待一会,如果没有错误发生的话,在out/images目录下面,就有一个rootfs.tar文件。里面包含了所有的编译结果。当然在这个过程当中,务必保持ubuntu上位机处于一个良好的网络状态,这主要是因为buildroot在编译的同时,需要不停地从第三方下载代码进行解压和编译,比如说busybox。如果网络中间出现卡顿,其实比较影响编译效率的。
当然,如果后期客户需要添加自己的程序,只需要把rootfs.tar解压一下,同时把自己的程序重新copy到对应的目录,再次压缩一下就可以了。
8、总结
通过练习,大家也发现根文件系统的制作主要还是依赖两个方面,一个是cpu,一个是编译器,剩下的部分基本就是功能的选择、模块的选择、特性的选择等等。这部分大家可以根据自己的需求灵活做出改变。
此外,如果不想记住这么多配置,那么可以把buildroot下面的.config文件保存下来,到时候直接拷贝粘贴也可以的。这样也能省略很多不必要的烦恼,提高一下开发的效率。
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号