i.MX6ULL - Buildroot根文件系统构建步骤

i.MX6ULL - Buildroot根文件系统构建步骤



1、源码获取

buildroot下载地址:https://buildroot.org/download.html

下载长期支持版,也就是这个:


2、配置

解压并进入:

tar xvf buildroot-2022.02.5.tar.gz
cd buildroot-2022.02.5

启动图形化配置:

make menuconfig

1、目标属性:Target options —>

2、工具链配置:Toolchain —>

主要配置以下几项:

自定义的工具链:Toolchain (Custom toolchain) —>

交叉编译工具链来源:Toolchain origin (Pre-installed toolchain) —>

指定你的交叉编译工具链的存放位置:(/opt/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf) Toolchain path

工具链的前缀:($(ARCH)-linux-gnueabihf) Toolchain prefix

你的交叉编译工具链的版本:External toolchain gcc version (7.x) —>

External toolchain kernel headers series (4.10.x) —>:编译你交叉编译工具链的linux内核版本,如果不知道那就先随便写一个,等编译的时候会报错误,根据报错提示就可以知道版本号,例如我一开始随便设置的是5.4.x,但是编译的时候就报错了:

Incorrect selection of kernel headers: expected 5.4.x, got 4.10.x
package/pkg-generic.mk:273: recipe for target '/opt/yijie/buildroot-2022.02.5/output/build/toolchain-external-custom/.stamp_configured' failed

提示我应该是4.10.x,而不是5.4.x。

选中C库:External toolchain C library (glibc/eglibc) —>

使能这几项支持:
[*] Toolchain has SSP support?
[*] Toolchain has SSP strong support?
[*] Toolchain has RPC support?
[*] Toolchain has C++ support?
[*] Enable MMU support

配置为如下图:

3、系统设置:System configuration —>

主机名称:随便设置: (yjimx6ull) System hostname

欢迎语,随便设置:(Welcome to YiJie i.MX6ULL Board !) System banner

初始系统使用BusyBox:Init system (BusyBox) —>

挂载方式使用动态挂载加mdev形式:/dev management (Dynamic using devtmpfs + mdev) —>

使能登陆密码:[*] Enable root login with password

登陆密码为root:(root) Root password

配置完如下:

4、 Kernel —>

取消掉内核编译:

5、Bootloaders —>

取消掉uboot编译:

6、Filesystem images —>

7、Target packages

这个选项下是第三方库,目前暂时用不到,先不配置,用到的时候在勾选进行编译。


3、编译

sudo make

编译前注意一下几点:

  • 一定要加sudo,并且不能使用make -jN来指定多核编译
  • 编译异常漫长,估计几个小时
  • buildroot编译的时候会先从网上下载所需的软件源码,务必保持网络通畅,有些软件源码可能下载不下来,或者下载的很慢,此时建议换源,方法我这里就不赘述了,直接百度搜索:ubuntu换源。
  • 编译会用到git下载东西,最好是能科学上网

编译完成之后会在output/images下:


4、NFS挂载测试

现在就可以使用NFS挂载文件系统测试了。

创建buildroot文件系统目录,并将编译出的文件系统压缩包解压到该目录下:

mkdir /buildroot-rootfs
tar xvf ./output/images/rootfs.tar -C /buildroot-rootfs

设置uboot挂载参数(别忘了在/etc/exports将NFS挂载目录换成/buildroot-rootfs):

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.28.254:/buildroot-rootfs ip=192.168.28.234:192.168.28.254:192.168.28.1:255.255.255.0::eth0:off'

如果你是用的飞凌的okmx6ull的uboot和内核,uboot设置的挂载参数为:

setenv mmcargs setenv bootargs console=ttymxc0,115200 cma=320M root=/dev/nfs rw ip=192.168.1.234:192.168.1.254:192.168.1.1:255.255.255.0::eth0:off nfsroot=192.168.1.254:/buildroot-rootfs,v3,tcp

成功挂载:


ends…

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

觉皇嵌入式

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值