0


RK3588固件生成

系统准备

系统:Ubuntu18.04

硬盘空间:尽管官方文档中说只需要40G,但笔者测试发现需要100G左右

  在VMware中安装好Ubuntu18.04后,首先需要安装依赖项,在终端执行以下命令:

sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler python-pip ncurses-dev pyelftools

为了避免安装出现问题,在执行以上命令前,最好先更新一下apt:

sudo apt-get upgrade

下载Linux SDK

  可在firefly官网(https://www.t-firefly.com/doc/download/161.html)进行下载,或由商家提供,我们主要需要两个文件:

在这里插入图片描述

第二个压缩文件是SDK,第一个txt文件是用于检查md5校验和的,确保文件没问题。

使用repo提取文件

  将.7z文件发送至Ubuntu端,执行

md5sum rk3588_repo_sdk_v0.1.0a.7z

在这里插入图片描述

检查计算出的校验和与md5sum.txt中内容是否一致。

  解压.7z:

7z x rk3588_repo_sdk_v0.1.0a.7z

会在生成rk3588文件夹,进入该文件夹

  使用repo检出文件:

.repo/repo/repo sync -l
.repo/repo/repo start rk3588/firefly --all

  检出后的rk3588文件夹内容如下(可能略有不同,我这是执行过编译的文件夹):

在这里插入图片描述

SDK更新

  下载bundle,将所有文件(一个.7z,一个update.sh脚本)移入rk3588文件夹:

mv bundle/* rk3588/

  执行update.sh脚本:

./update.sh

即可完成SDK的更新。

生成.img

  • 选择配置文件

  进入rk3588/文件夹,执行

./build.sh launch

选择与自己板子匹配的.mk文件。

  • 编译u-boot

  进入rk3588/文件夹,执行

./build.sh uboot

会在 rk3588/rockdev/ 文件夹下生成 boot.img 以及 uboot.img

  • 编译kernel
./build.sh kernel
  • 编译recovery
./build.sh recovery
  • 编译rootfs
./build.sh rootfs

  除了分别编译以上四个部分外,也可以直接执行

./build.sh all

将会自动完成 uboot、kernel、recovery、rootfs 四个部分的编译。

  想了解update.sh更详细的用法,可以查看其帮助文档:

./build.sh --help

  在 rk3588/ 目录执行

./mkfirmware.sh

会将所有固件打包到 rk3588/rockdev/ 目录下

固件打包

  为了方便固件下载,我们可以将以上几个分立固件打包成一个完整的update.img固件。

  在 rk3588/tools/linux/Linux_Pack_Firemare/rockdev/ 文件夹下,执行

./mkupdate.sh

会在 rk3588/rockdev/ 文件夹下生成 update.img。或者在 rk3588/tools/linux/Linux_Pack_Firemare/rockdev/Image/ 也可以找到,后者是到前者的一个链接。

在这里插入图片描述

在这里插入图片描述

  至此固件打包就完成了,可以通过下载工具将 update.img 下载到板卡中。

标签: ubuntu git linux

本文转载自: https://blog.csdn.net/qq_43557686/article/details/126138122
版权归原作者 今朝无言 所有, 如有侵权,请联系我们删除。

“RK3588固件生成”的评论:

还没有评论