RK3588 制作 ubuntu 固件

基于友善

Posted by LXG on June 22, 2026

sd-fuse_rk3588

下载SDK

  1. 百度网盘下载 friendlywrt-rk3588-v24.10-20250703.tar
  2. MD5 校验: md5sum -c friendlywrt-rk3588-v24.10-20250703.tar.hash.md
  3. 解压: tar -xvf friendlywrt-rk3588-v24.10-20250703.tar

代码初始化


lxg@lxg:~/code/open_source_board/friendlyelec/friendlywrt-rk3588-v24.10$ cat README.txt 
# Step 1: Execute the following command to unpack the source code
./repo/repo sync -l --no-clone-bundle

# Step 2: Use local cache (optional)
(cd pre-download && ./unpack.sh)

# Step 3: View help information
./build.sh

# The final step: Start building
./build.sh rk3588.mk

# Or build image with built-in Docker
./build.sh rk3588_docker.mk

# More information
https://wiki.friendlyarm.com/wiki/index.php/How_to_Build_FriendlyWrt
https://github.com/friendlyarm/Actions-FriendlyWrt

友善rootfs.img放荣品SDK中编译ubuntu

  1. 从百度网盘>FriendlyELEC-RK…>03_分区镜像文件
  2. 解压 tar -xvf ubuntu-jammy-desktop-arm64-images.tgz
  3. 替换

cd /home/lxg/code/project/linux/rk3588_linux

# 1) 备份旧镜像(可选但建议)
[ -f ubuntu/ubuntu.img ] && mv ubuntu/ubuntu.img ubuntu/ubuntu.img.bak

# 2) 用你解压目录里的 rootfs.img 替换为 SDK 需要的 ubuntu.img
cp -av ubuntu/ubuntu-jammy-desktop-arm64/rootfs.img ubuntu/ubuntu.img

# 3) 校验
ls -lh ubuntu/ubuntu.img
file ubuntu/ubuntu.img

  1. 格式转换

cd /home/lxg/code/project/linux/rk3588_linux

# 1) 先确认有 simg2img
which simg2img

# 2) 备份当前 sparse 镜像
mv ubuntu/ubuntu.img ubuntu/ubuntu.img.sparse.bak

# 3) sparse -> raw ext4
simg2img ubuntu/ubuntu.img.sparse.bak ubuntu/ubuntu.img

# 4) 校验应显示 ext4 filesystem data(而不是 Android sparse image)
file ubuntu/ubuntu.img

rootfs 不同开发板厂家的rootfs.img是通用的吗

结论:

同一 CPU 架构(都为 ARM64)只能说明“有机会启动”,不代表可直接用。是否能稳定运行,取决于 BSP 适配,而不是 rootfs 本身。

主要不兼容点:

  1. 内核版本与用户态驱动不匹配: 例如 Mali、NPU、VPU、Camera、RGA、WiFi/BT 的库和内核模块版本要配套。
  2. 启动链和分区约定不同: 不同厂商对 boot、rootfs、userdata、fstab、init 脚本、挂载点有不同约定。
  3. 板级配置不同: 网卡名、串口、音频卡号、显示输出、触摸、传感器等设备节点和默认配置可能不一致。
  4. 厂商定制服务差异: 很多板厂会在 rootfs 里放自家服务、脚本、固件加载逻辑,换板后可能缺失。