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 复制代码
# 待续-----
相关推荐
imc.1121 小时前
linux基础IO
linux·运维·服务器
躺不平的理查德21 小时前
让Ubuntu 的第二块网卡 ens37 永久固定为 192.168.30.111
运维·服务器
bitbrowser1 天前
Facebook 验证反复回到原页面,应该从哪里排查
运维·服务器·facebook
Land03291 天前
AI网页元素变化无法自动修复?自带元素自愈的自动化解决方案
运维·人工智能·ai·自动化·rpa
fengyehongWorld1 天前
Jenkins 安装与简单配置
运维·jenkins
云智慧AIOps社区1 天前
2026 国产化 ITSM 替代指南:横向测评 ServiceNow、轻帆云、Jira等五款主流IT服务管理平台
运维·人工智能·运维开发·it服务管理·itsm平台
虹科网络安全1 天前
艾体宝新闻|从 SQL 注入到服务器接管:CVE-2026-57517 暴露 Web 管理面板的供应链与安全编码风险
服务器·前端·sql
Urbano1 天前
针织卫衣全流程生产工序科普:自动化替代、产能优化与设备选型实战方案
运维·自动化
BelongPanda1 天前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
AC赳赳老秦1 天前
招投标公开数据自动化采集实战:基于 OpenClaw 的定时抓取与业务关键词精准推送
运维·服务器·数据库·自动化·测试用例·deepseek·openclaw