加载中…
个人资料
峯挚
峯挚
  • 博客等级:
  • 博客积分:0
  • 博客访问:7,587
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

buildroot制作文件系统

(2019-09-24 14:51:47)
标签:

it

分类: 笔记

 

buildroot制作文件系统

一, 资源

1,  开发板(本例基于imx6ull

2,  buildroot

buildroot-2019.02.tar.gz

3,  交叉编译工具链

gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf.tar.xz

4,  MfgTool

包含已经编译好的ubootkernel等文件

二, 根文件系统制作

1,  进入到buildroot解压后的对应目录中

cd buildroot-2019.02/

2,  用默认的配置文件生成.config文件

make imx6ulevk_defconfig

注释1:此次制作的根文件系统使用的CPUimx6ull,可以在/buildroot-2019.02/config目录中找到相近的型号

3,  make menuconfig进行定制化配置

(1)       make menuconfig进入配置界面

(2)       Target options

目标选项。包括处理器体系结构、二进制文件格式、处理器内核架构、ABI、浮点运算、指令集。

由于初始选择的配置文件已定,无须更改

(3)       Build options

编译选项,和编译相关的配置。

默认即可。

(4)       Toolchain

交叉编译工具链。可以选择Buildroot自身提供的和外部的。我们这边准备好了外部的工具链。

buildroot制作文件系统

配置如上图所示外部Toolchain所在目录

/home/dhf/Compile/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf

Toolchain后缀-linux-gnueabihf

External toolchain gcc version这个变量我们通过arm-linux-gnueabihf-gcc –v命令查询后设置

External toolchain kernel header series这个变量可以打开

/home/dhf/Compile/gcc-linaro-4.9-2014.11-x86_64_arm-linux-gnueabihf/libc/usr/include/linux/version.h

buildroot制作文件系统

200960转换成16进制0x31100,对应版本就是3.11.0版本,如果编译过程中报错,会提示这个值的实际值,替换设置即可。

External toolchain C library 选择glibc/eglibc

工具链支持SSPRPCC++,选中即可

(5)       System configuration

系统配置选项。例如hostnamebannerbusyboxpasswordconsole等一些配置。

System hostname 默认是buildroot,可根据需求修改。

Run a getty确认启动后的登录串口配置,可根据需求修改。

(6)       Kernel

配置嵌入式系统的内核。

因为没在buildroot里编译内核,所以此处不需要选中内核相关配置,默认是选择的,设置时取消掉。

(7)       Target packages

文件系统运用程序以及库安装包。包含1800多种buildroot package,供选择性安装。

需要用到的功能,找到相关设置选中即可。

由于种类比较多,当无法找到相应功能包时,可以使用/寻找。

(8)       Filesystem images

文件系统镜像文件。生成各种类型的根文件系统,例如BUIFSEXT2/3/4jffs2等。

这里使用默认配置。

(9)       Bootloaders

(10)   系统引导程序。包括BareboxU-Boot等。因为我们不再Buildroot中编译uboot,所以不做配置。默认时选择了uboot的,这里取消掉。

(11)   Host utilities

嵌入式系统的主机工具。选择一些需要的工具

(12)   Legacy config options

历史遗留的配置。该版本的buildroot已经删除或这不支持的内容。

4,  make all编译

编译完之后,输出记过位于output/images下,会生成rootfs.tar格式文件。

注释:由于我们未选用buildroot内部编译ubootkernel,所以结尾会报出如下等错误ERROR: vfat(boot.vfat): could not setup zImage ,不用在意这些

5,  rootfs.tar转换程bz2格式文件,并烧录

cd output/images/

mkdir rootfs

tar xvf rootfs.tar –C ./rootfs/

cd rootfs/

tar –cjf core-image-base-myd-y6ull14x14.rootfs.tar.bz2 *

因为MfgTool里面的rootfs文件格式bz2格式,所以这里先解压,再压缩成bz2格式文件,压缩时注意MfgTool使用的文件系统的名称,最后放到Mfgtool对应目录里,通过usb烧写到板子中即可。

三, 总结

烧写完成后正常启动,可以看到系统正常启动,hostnamebuildroot,和上面配置一致。


0

阅读 收藏 禁止转载 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有