Buildroot根文件系统构建

前言

写文章的目的是想通过记录自己的学习过程,以便以后使用到相关的知识点可以回顾和参考。

简介

用 busybox 构建文件系统,仅仅只是帮我们构建好了一些常用的命令和文件,像 lib 库、/etc 目录下的一些文件都需要我们自己手动创建,而且 busybox 构建的根文件系统默认没有用户名和密码设置,还要自己去移植一些第三方软件和库,比如 alsa、iperf、mplayer 等等。那么在实际的应用中,就需要用到 buildroot 这一种工具了,buildroot 不仅集成了 busybox,而且还集成了各种常见的第三方库和软件,需要什么就就在配置中选择什么,buildroot 极大的方便了我们嵌入式 Linux 开发人员构建实用的根文件系统。

一、buildroot 下载

buildroot 源码要从 buildroot 官网下载,官网地址为:https://buildroot.org/,然后将 buildroot 源码 buildroot-2019.02.6.tar.bz2 拷贝到 ubuntu 中。

二、buildroot 配置

使用下面命令进入图形化配置界面

make menuconfig

1、配置 Target options
在这里插入图片描述
需要根据板子的cpu进行设置。

2、配置 Toolchain
在这里插入图片描述
设置使用我们自己的交叉编译器,填入交叉编译器的绝对路径,选择交叉编译器的版本和板子kernel的版本。

3、配置 System configuration
在这里插入图片描述设置一些系统配置,比如开发板名字、欢迎语、用户名、密码等。

4、配置 Filesystem images
在这里插入图片描述
选择根文件系统的格式,ext4等。

5、配置 Target packages

此选项用于配置要选择的第三方库或软件、比如 alsa-utils、ffmpeg、iperf 等工具。

6、编译 buildroot

sudo make

编译完成后,会生成一个output目录,最终在/output/images 下生成根文件系统
在这里插入图片描述
编译出来了多种格式的 rootfs,比如 ext2、ext4等。
不过接下来,我会使用 rootfs.tar 进行测试, 通过 nfs 把文件系统挂载到开发板上。

三、busybox 配置

1、配置busybox

buildroot 在构建根文件系统的时候也是要用到 busybox 的,既然用到了 busybox 那么就涉及到 busybox 的配置,busybox源码在/output/build/busybox-1.29.3 这个文件夹中。
buildroot根文件目录中使用如下命令配置busybox。

sudo make busybox-menuconfig

在这里插入图片描述

busybox的配置就跟以前配置busybox时一样,省略。。。。

2、编译busybox

配置好以后就可以重新编译 buildroot 下的 busybox,进入到 buildroot 源码目录下,输入如下命令查看当前 buildroot 所有配置了的目标软件包,也就是 packages:

sudo make show-targets

在这里插入图片描述
上图列出了当前 buildroot 中所有使能了的 packages 包,其中就包括 busybox,如果我们想单独编译并安装 busybox 的话执行下面命令即可:

sudo make busybox

然后重新编译buildroot,输入命令:

sudo make

最后就可以使用新的 rootfs.tar 启动 Linux 系统了。

四、根文件系统测试

在 nfs 文件夹中创建 buildrootfs 文件夹,把编译出来的 rootfs.tar 复制进去并解压,解压后里面的内容如下图所示:
在这里插入图片描述

然后打开开发板,进入uboot界面,重新设置bootargs环境变量,通过nfs
挂载到开发板上。

setenv bootargs ‘lcd=at070tn92 tp=gslx680-linux root=/dev/nfs
nfsroot=192.168.0.102:/home/xzj/Linux/nfs/buildrootfs,proto=tcp rw ip=192.168.0.103:192.168.9.102:192.168.0.1:255.255.255.0::eth0::off’

重启开发板

首先要进入到/lib/modules 目录,这是平时做驱动实验时存放驱动的地方,但是默认没有,因此需要我们自行创建此目录。
输入用户名root
输入密码(配置buildroot时设置的)
进入到系统中。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值