1.需要条件

开发环境:Ubuntu16.04
开发平台:f1c100s

2.安装交叉编译链

1.新建文件夹:mkdir toolchain 并进入:cd toolchain

2.下载编译链:wget https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabi/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi.tar.xz

说明:如果有的对应的交叉编译器压缩包,自行拷贝到对应的目录下解压即可。

3.解压 :xz -d file.tar.xz 再次解压: tar -xvf file.tar

4.拷贝到对应的目录下(我这里放到了/usr/local/arm-gcc/,可以根据自己选择路径,等会需要用到)

5.打开.bashrc:vim .bashrc 添加编译链的bin文件路径 ( 类似windows下的添加环境变量 ):
在文件末尾 添加以下内容

PATH="$PATH:/usr/local/arm-gcc/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin/"

然后保存退出,最后更新环境变量:source .bashrc

3.下载Buildroot代码包

1.在 https://buildroot.org/download.html 链接可以下载到最新的代码包(网页打开很慢,除非能…好了你懂的,《Over the wall》)。

4.开始buildroot 制作根文件系统

1)拷贝下载好的buildroot-2021.02.6.tar.gz 压缩包到ubuntu中,解压并进入buildroot-2021.02.6目录中(建议新建一个目录)。

mkdir make_rootfs
tar -xzvf buildroot-2021.02.6.tar.gz 
cd buildroot-2021.02.6

5.配置文件系统 menuconfig

1)进入图形化配置界面

make menuconfig

在这里插入图片描述

5.1.Target options —> 配置说明

1)由于我们使用的是f1c100s,CPU架构是ARM9的,所以需要更改配置内容,如下:

在这里插入图片描述

5.2.Build options —> 配置说明

生成选项:根据自己的实际情况选择,在这里我直接使用默认配置
在这里插入图片描述

5.3.Toolchain —> 配置说明

编译工具链选择:这个需要根据自己的实际情况修改。在这里总共修改了9个地方。

在这里插入图片描述

1)Toolchain type () —>
默认是 Buildroot toolchain(内部工具链)
在这里插入图片描述
这里我们选择 External toolchain(外部工具链)

在这里插入图片描述

2)Toolchain () —>

选择自定义工具链
在这里插入图片描述

3)Toolchain origin () —>
选择工具链来源,默认就是选择 Pre-installed toolchain (预装工具链)
在这里插入图片描述
4)Toolchain path ()

交叉编译工具链路径
找到自己的交叉编译工具链的路径填写进去,上面安装交叉编译链的时候,已经知道路径了:/usr/local/arm-gcc/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi
在这里插入图片描述
5)($(ARCH)-linux) Toolchain prefix ()

配置交叉编译工具链前缀

在这里插入图片描述

我的交叉编译工具链是:arm-linux-gnueabi 所以我们填写为:$(ARCH)-linux-gnueabi

6)External toolchain gcc version () —>
选择外部交叉编译工具链版本

arm-linux-gnueabi-gcc -v

在这里插入图片描述
由于我们是7.2.1版本的,选择外部交叉编译工具链版本7.x在这里插入图片描述

7)External toolchain kernel headers series () —>

外部工具链内核头系列,在这里我们进入交叉编译工具链目录,查找版本信息文件,

路径在我们刚才安装交叉编译工具链的地方:

vim /usr/local/arm-gcc/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/arm-linux-gnueabi/libc/usr/include/linux/version.h

在这里插入图片描述
将 264707 转换为16进制是40A03,对于10进制来说就是4.10.3

在这里插入图片描述

在这里我们选择4.10.X

在这里插入图片描述
8)External toolchain C library () —>

外部工具链C库

在这里插入图片描述

9)工具链支持C++ 选项

在这里插入图片描述

5.4.System configuration —> 配置说明

系统配置:这个需要根据自己的实际情况修改。在这里我修改了5个地方。

在这里插入图片描述
1)修改系统主机名

在这里插入图片描述
2)修改登录提示语

在这里插入图片描述

3)修改设备挂载方式

在这里插入图片描述
4)修改登录密码

注意:默认登录账户名为 root
在这里插入图片描述

5)修改系统登录串口号

在这里插入图片描述

TTY port 在这里修改为自己开发板的系统登录串口号
在这里插入图片描述

Baudrate 修改串口波特率
在这里插入图片描述

5.5.Kernel —> 配置说明

内核配置:我们不需要在这里编译内核,在这里我们取消选中

在这里插入图片描述
在这里插入图片描述

5.6.Target packages —> 配置说明

目标包:文件系统程序包和库文件安装包,这个需要根据自己的实际情况修改。在这里我直接使用默认配置。

在这里插入图片描述
在这里插入图片描述

5.7.Filesystem images —> 配置说明

文件系统镜像:在这里我直接使用默认配置

在这里插入图片描述
在这里插入图片描述

5.8.Bootloaders —> 配置说明

系统引导程序:

在这里插入图片描述

我们不需要在这里编译u-boot,我们取消选中u-boot。
在这里插入图片描述

其他不管。

6.确认并且保存配置

在这里插入图片描述

7.编译

1)执行编译命令:

make

2)开始编译,第一次编译会自动去下载确实的dl文件,整个过程需要一些时间。

3)经过编译在 buildroot-2019.02.2/output/images 会生成 rootfs.tar 文件,至此,Buildroot编译完成

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐