当前位置:   article > 正文

最硬核的linux嵌入式根文件系统制作_gcc-linaro-7.31

gcc-linaro-7.31

使用Buildroot为I.MX6制作根文件系统

我的虚拟机版本是

在这里插入图片描述

1、 Buildroot,官方下载地址为: - https://buildroot.org/downloads/
我使用的是buildroot-2019.02.tar.gz,较新的一个版本。大家可以根据需要自行下载。
2、工具链,我这里使用的是Linaro的gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz 这个版本,
工具链的官方下载链接:http://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/arm-linux-gnueabihf/

2、将gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz、buildroot-2019.02.tar.gz复制到/opt
把他们解压到当前目录下。

tar -xvf gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz ./
tar -xvf buildroot-2019.02.tar.gz ./
  • 1
  • 2

在这里插入图片描述
我这里已经提前姐要好了,解压成之后就就可以进行下一步了。
3、我们进入/opt/buildroot-2019.02/configs这个文件目录下如下图,大家可以看到这里好多芯片的内核配置文件,大家可以根据自己的需求选择,这里我用的是:freescale_imx6qsabresd_defconfig

在这里插入图片描述
这里我们使永以上文件的时候有两种方法

方法一、
#在/opt/buildroot-2019.02/configs# 目录下
cp freescale_imx6qsabresd_defconfig /opt/buildroot-2019.02/.config
方法二
#在/opt/buildroot-2019.02目录下
make freescale_imx6qsabresd_defconfig
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4、之后我们就可以配置内核了make menuconfig进行定制化配置
我第一次make menuconfig的时候会遇到一个错误
在这里插入图片描述
我在另一个博客有记录,处理比较简单只需要安装一个东西即可。
https://blog.csdn.net/qq_38583464/article/details/111352671

如果正常的话make menuconfig后会出现以下配置界面
在这里插入图片描述

(a) Target options
目标选项。包括处理器体系结构、二进制文件格式、架构系列、ABI、浮点运算、指令集。
在这里插入图片描述
(b) Build options

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

这里我没做修改,用的是默认设置。
(c)交叉编译链。选择哪种编译链,包括 Buildroot 自身提供的和外部的。针对我这里使用的情况,需要修改以下几处内容:
在这里插入图片描述
注1:上面标号6那里External toolchain gcc version的查看方式是:先 export PATH=$PATH:/opt/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf/bin

设置完环境变量,然后使用arm-linux-gnueabihf-gcc -v查看。

arm-linux-gnueabihf-gcc -v
在这里插入图片描述
(d) System configuration系统配置选项。例如hostname,banner,busybox,password,console等一些配置
比如咱们这里的hostname默认是buildroot。
(e) Kernel
配置嵌入式系统的内核.因为我们不在Buildroot里编译内核,所以我们不需要选中内核相关配置。默认的是选择的,需要取消掉。
在这里插入图片描述
(f) Filesystem images
文件系统镜像文件。生成各种类型的根文件系统,例如 BUIFS、EXT2/3/4、jffs2 等。

这里使用如下的默认配置:.
在这里插入图片描述
(g) Bootloaders
系统引导程序。包括 Barebox、mxs-bootlets、U-boot等。因为这里我不在Buildroot里编译Uboot,所以不做配置。默认是选择了Uboot的,这里把它取消掉。
在这里插入图片描述
注意一个特别重要的东西
 Target packages
文件系统运用程序以及库安装包。包含 1800 多种 buildroot package,供我们选择性的安装。

这里我要使用dropbear来实现ssh和scp的功能,只要到Networking application里选中就行了。但是这里有好多网络的依赖包,大家有需要根据自己的需要选择安装
在这里插入图片描述
这个是系统的配置文件的依赖大家也可以自己选择
在这里插入图片描述

完成以上步骤之后可以保存,然后把.config文件拷贝出来,下次可以直接用。

5、之后make all这是一个漫长的过程,大概两个小时吧,虚拟机电脑务必联网别睡眠最好。
我之前编译完之后有一个错误
在这里插入图片描述
apt-get install texinfo安装这个重新make all问题解决,大家如果遇到新的问题可以自行百度。
6、编译完成虽然报错了,但是/opt/buildroot-2019.02/output/images/rootfs.tar已经生成
在这里插入图片描述
7、mkdir rootfs //没有就创建,有的话记得把上一次解压的内容删除 rm -rf rootfs/*(上图的rootfs是我新建解压好的)
8、cd rootfs/bin //这里的程序都是link到busybox的
9、cd /opt/buildroot-2019.02/output/images/rootfs/bin
10、rm -rf busybox
11、cp /opt/buildroot-2019.02/output/target/bin/busybox ./
12、cd …
13、tar -cjf rootfs.tar.bz2 *

在这里插入图片描述
把他拷贝出来烧写(内核、设备树用的之前的,文件系统用上图的)
在这里插入图片描述

14、烧写
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
15、进系统
在这里插入图片描述
在这里插入图片描述

搞定!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/485684
推荐阅读
相关标签
  

闽ICP备14008679号