rk3588s的firfly的linux的sdk版本

1、SDK的解压和更新

bash 复制代码
# 解压
mkdir -p ~/proj/rk3588_sdk
cd ~/proj/rk3588_sdk
cat path/to/rk3588_linux_release_20230114_v1.0.6c_0* | tar -xv

# 导出数据
.repo/repo/repo sync -l

#更新sdk数据,例如编译ubuntu就会无法烧录,因为SDK版本的问题

cd ~/proj/rk3588_sdk
# 同步
.repo/repo/repo sync -c --no-tags
.repo/repo/repo start firefly --all

#导出数据
.repo/repo/repo sync -l

2、烧录

这个问题是没有使用root用户执行的结果,切换root后烧录成功(sudo su)

okay的图片

bash 复制代码
#查看loader设备
sudo upgrade_tool LD  

#重启loader设备   #在单独烧录的时候设备不会自动重新启动,需要这条命令
sudo upgrade_tool RD  

#烧写统一固件 update.img
sudo upgrade_tool uf update.img

#如果升级失败,可以尝试先擦除后再升级。
# 擦除 flash 使用 ef 参数需要指定 loader 文件或者对应的 update.img
sudo upgrade_tool ef update.img   #update.img :你需要烧写的 Ubuntu 固件
# 重新烧写
sudo upgrade_tool uf update.img

烧写分区镜像
sudo upgrade_tool di -b /path/to/boot.img
sudo upgrade_tool di -r /path/to/recovery.img
sudo upgrade_tool di -m /path/to/misc.img
sudo upgrade_tool di -u /path/to/uboot.img
sudo upgrade_tool di -dtbo /path/to/dtbo.img
sudo upgrade_tool di -p paramater   #烧写 parameter
sudo upgrade_tool ul bootloader.bin # 烧写 bootloader


如果因 flash 问题导致升级时出错,可以尝试低级格式化、擦除 emmc:
sudo upgrade_tool lf update.img	# 低级格式化
sudo upgrade_tool ef update.img	# 擦除

fastboot 烧写动态分区
adb reboot fastboot # 进入bootloader
sudo fastboot flash vendor vendor.img
sudo fastboot flash system system.img
sudo fastboot reboot # 烧写成功后,重启

3、编译

bash 复制代码
#编译 Ubuntu 固件
#本教程的编译部分适用于 v1.0.6e 以上 SDK 版本

$ readlink -f .repo/manifest.xml
/home/daijh/p/rk3588/.repo/manifests/rk3588/rk3588_linux_release_20230301_v1.0.6e.xml

#搭建编译环境
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 ncurses-dev \

#编译
# 在 device/rockchip/rk3588/ 目录下,有不同板型的配置文件,选择配置文件:

./build.sh roc-rk3588s-pc-ubuntu.mk 
2.3.2.2. 编译
2.3.2.2.1. 全自动编译
下载根文件系统:Ubuntu 根文件系统(64位),放到 SDK 路径下
# 这里没必要纠结aarch64的型号  对应的位置下载,解压跟着做就Okay了 
我的当时 ubuntu-aarch64-rootfs.img 就是Ubuntu20.04-Gnome_RK3588_v2.40-1_20230414.img

7z x ubuntu-aarch64-rootfs.7z
mkdir ubuntu_rootfs
mv ubuntu-aarch64-rootfs.img ubuntu_rootfs/rootfs.img

#开始编译
./build.sh
#生成的完整固件会保存到 rockdev/pack/ 目录。

##部分编译
#编译 u-boot
./build.sh uboot
#编译 kernel
./build.sh extboot
#编译 recovery
./build.sh recovery

#下载根文件系统:Ubuntu 根文件系统(64位),放到 SDK 路径下
# 这里没必要纠结aarch64的型号  对应的位置下载,解压跟着做就Okay了 
#我的当时 ubuntu-aarch64-rootfs.img 就是Ubuntu20.04-Gnome_RK3588_v2.40-1_20230414.img

7z x ubuntu-aarch64-rootfs.7z
mkdir ubuntu_rootfs
mv ubuntu-aarch64-rootfs.img ubuntu_rootfs/rootfs.img

#更新各部分镜像链接到 rockdev/ 目录:
./mkfirmware.sh

#打包固件,生成的完整固件会保存到 rockdev/pack/ 目录。
./build.sh updateimg
注意:当时我没有更新sdk,一直没有编出update.img,版本一直是20230114_v1.0.6c

所以才做了上面的更新sdk版本操作,一下就okay了,刚开始我还以为是rootfs的问题,但是更新了发现不是的 。

如下是SDK更新之后的版本图

4、验证

查看sdk的kernel版本 是否烧录内更新

bash 复制代码
#查看sdk的kernel版本
ZZM@ZZM-PC:~/rk3588_linux/kernel$ head .config -n 10
#
# Automatically generated file; DO NOT EDIT.
# Linux/arm64 5.10.198 Kernel Configuration                --------5.10
#
CONFIG_CC_VERSION_TEXT="aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=100301
CONFIG_LD_VERSION=236010000
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y

#有对应的设备的话  时间变化 编译的不同版本
root@firefly:~# uname -a
Linux firefly 5.10.198 #3 SMP Sat Apr 11 10:51:36 CST 2026 aarch64 aarch64 aarch64 GNU/Linux
root@firefly:~# 

5、制作rootfs.img的操作

bash 复制代码
# 待续-----
相关推荐
YXXY3136 小时前
线程的介绍(四)
linux
李白你好6 小时前
AI Agent 架构的自动化渗透测试工具
运维·人工智能·自动化
Snasph6 小时前
GNU Make 用户手册(中文版)
服务器·算法·gnu
广州灵眸科技有限公司6 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) Easy-Eai编译环境准备与更新
服务器·前端·人工智能·python·深度学习
一勺菠萝丶7 小时前
Docker Desktop 启动后容器自动启动怎么办?如何关闭容器自启动
运维·docker·容器
Esaka_Forever7 小时前
uv init 完整用法(Python 最快包管理器)
服务器·python·uv
溜达的大象7 小时前
服务器挂了等用户报障?我用Prometheus搭了一套监控告警,服务器出状况第一时间通知我
服务器·php·prometheus
ylscode8 小时前
Comodo防火墙曝致命零日漏洞:单个IPv6数据包即可触发Windows蓝屏死机
运维·网络·windows·安全·安全威胁分析
kTR2hD1qb8 小时前
从 Responses API 到 Chat Completions:一个模型网关的设计复盘
linux·前端
实在智能RPA8 小时前
药企GMP合规自动化破局:实在Agent的功能完整度评估与落地实践
运维·人工智能·ai·自动化