Buildroot2025.02构建imx6ull根文件系统并编译入QT、OpenCV、tflite库

1.前言

     前面在正点原子的出厂系统上部署了目标分类,但是移植编译所需库步骤比较麻烦,这次使用buildroot定制一个根文件系统,图形化界面一键生成。

2.材料准备

     2.1硬件

2.1.1  开发板、sd卡、读卡器,开发板底板是我自己画的,核心板用的正点原子的核心板。

    2.2软件

 2.2.1  Buildroot下载,打开https://buildroot.org/官网,可能会有点慢建议打开梯子。选择buildroot-2025.02.tar.gz下载,将文件拷入虚拟机。使用 tar -xvf buildroot-2025.02.tar.gz 进行解压。

注意:buildroot构建完后空间占用大概10~20个G,记得虚拟机留出空间

3.Buildroot配置

 3.1  进入 buildroot目录。输入下面的指令安装显示图形菜单需要的库,若已经安装则

不需要装。

sudo apt-get install libncurses5-dev

 3.2  打开配置菜单,输入下面的指令,如下图所示。

make menuconfig

 3.3  首先配置 Target options 选项,用回车进行选择,最后配置完如下图

 3.4  配置交叉编译工具链,内核头我选的5.4.x可以根据自己需要进行选择,注意Enable compatibility shims to run on older kernels 勾选以兼容旧版本。

3.5  配置 System configuration

-> System hostname = imx6ull    //平台名字,自行设置

-> System banner = Welcome to alpha i.mx6ull //欢迎语

-> Init system = BusyBox //使用 busybox

-> /dev management = Dynamic using devtmpfs + mdev //使用 mdev

-> [*] Enable root login with password (NEW) //使能登录密码

-> Root password = 123456 //登录密码为 123456

然后进入Run a getty (login prompt) after boot修改终端设备名和波特率

 3.6.Kernel不用选我们已经有内核,如果你需要编译内核的话就选择。

3.7  配置 Target packages

3.7.1  顶部默认不用修改

3.7.2  进入Compressors and decompressors选择支持的压缩包格式, 为了满足常用格式(.zip, .gz, .xz)

3.7.3  进入Graphic libraries and applications,Qt5配置 进入qt5下面是我的选择可以根据自己需求增减

3.7.4  Hardware handling 配置

[] evtest 用于测试输入设备(触摸屏、按键)是否正常

[ *] libuio 用户空间 I/O 驱动,若你用 uio 驱动访问设备

[ ] linuxconsoletools 操作 /dev/input 输入设备的工具集

[ ] linux-serial-test 测试串口通不通的小工具,调试方便

3.7.5  Interpreter languages and scripting 配置

Python3勾选上

Core Python3 modules 配置

[*] unicodedata module必选,很多第三方包依赖 Unicode 处理

[ ] bz2 module Python 解压 .bz2 格式需要

[ ] xz module Python 解压 .xz 格式需要,pip 安装时常用

[ ] zlib module 支持 .zip 格式,安装模块时必需

[ ] decimal module 如果你要做浮点运算,建议开启(某些库可能依赖)

[ ] xml module 若有 XML 配置或接口处理需求

[ ] readline 提升 Python shell 交互体验(箭头键、历史命令)

[ ] ssl若你打算联网并用 HTTPS(如 pip 安装依赖、requests)

External python modules选项你可以选择自己要加入的python库,我这这只加入了py-numpy,你可以根据自己需要进行添加。

3.7.6 libraries配置

Opencv配置

    进入Libraries -Graphics,进入然后勾选opecv3或者4我这里选择4

      然后进入选择要编译的模型,下面的图是我勾选的,你可以根据自己需要进行增减,以下列出了部分功能其他自己查一下。

imgproc (图像处理)

imgcodecs (图像编解码)

highgui (高级GUI)

videoio (视频输入输出)

video (视频分析)

python (Python绑定)

features2d (特征检测)

dnn (深度学习模块)

flann (快速近似最近邻搜索

Tflite配置

     进入other进行Tflite配置,注意这个的前提是你前面的配置交叉编译工具链启用了C++支持才会出现否则你会找不到这个选项的。

   3. 8  Filesystem images配置

-> [*] ext2/3/4 root filesystem //如果是 EMMC SD 卡的话就用 ext3/ext4

-> ext2/3/4 variant = ext4 //选择 ext4 格式

-> exact size =32G //ext4 格式根文件系统 32GB(根据实际情况修改)

-> [*] ubi image containing an ubifs root filesystem //如果使用 NAND 的话就用这个取消前面ext4的勾选

最后点击save保存

4.  编译

    输入 make 进行编译,这个过程有点久耐心等待,以为从网上下载资源包,而且有些还在国外网址会很慢。

    但是如果你完全安装我的配置的话,可以使用我已经下载好的资源包进行编译,我放在了百度网盘https://pan.baidu.com/s/1OQiD3c78pdvR0HNr77nQ9w?pwd=2qy6,下载下来然后解压到buildroot根目录。

编译完成后会在这个路径下找到rootfs.tar

5.  移植

接着插入U盘

打开终端输入df命令查看rootfs路径

    然后使用sudo rm -rf /media/tian/rootfs/* 删除原来的根文件系统,注意改为自己的路径

将根文件系统解压出来。

将解压的rootfs的所有数据移到sd卡的rootfssudo mv * /media/tian/rootfs/ ,最后在输入sync同步一下

6.  开发板登录

将移植好的卡插入开发板,然后输入root和密码123456,成功登入根文件系统

查看一下内置库

最后再稍微配置一下vi /etc/porfile 修改为以下内容,然后重启开发板

修改完结果就是这种

7.  结语

    到这里就已经全部结束了,然后buildroot里面还有很多其他功能我没用过,大家可以根据自己需要进行选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值