Radxa OS 开发
使用前提
Radxa OS 的开发环境提供两种搭建方式:方式一基于 Dev Container(推荐用于二次开发),方式二基于 rsdk-image 预制容器(推荐用于纯构建)。两种方式最终使用相同的 rsdk 工具来编译 Radxa OS,可以按需选择。
可以按照下方教程完成 Docker / Visual Studio Code / Dev Containers 等基础组件的安装。
- 硬件准备:x86_64 架构的 PC
- 通用依赖:Docker
- 方式一额外需要:Visual Studio Code + Dev Containers 扩展插件
- 方式二额外需要:apt 可用、能访问 Radxa 的
radxa-deb软件源
选择环境搭建方式
- 方式一:DevContainer
- 方式二:rsdk-image 容器
-
下载 rsdk 源码
使用
git clone命令克隆 RadxaOS SDK(rsdk)源码。Linux-Host$git clone --recurse-submodules <git_repo_url>其中
<git_repo_url>需要替换成:https://github.com/RadxaOS-SDK/rsdk.git -
启动开发环境
使用 Visual Studio Code 打开 Radxa OS SDK(rsdk)源码目录:一般
Dev Container拓展会自动识别文件夹下的配置文件,会提示你是否重新打开容器开发环境。提示首次启动开发环境时,Dev Containers 会自动下载并安装依赖,需要耐心等待一段时间。
①:点击左下角的
Remote选项②:选择
Reopen in Container选项
等待容器自动连接和初始化环境,可以点击右下角选择在终端显示日志。

-
关于 rsdk-image
rsdk-image是 Radxa 官方提供的预制 Docker 镜像,内置了rsdk命令行工具,无需在本地安装 Nix 或自行构建 deb 包即可快速使用rsdk。该方式不需要 Visual Studio Code 和 Dev Containers,仅依赖 Docker 与 Radxa 的radxa-deb软件源,适合只需要构建系统镜像、不打算修改 rsdk 本身的用户。 -
安装 rsdk-image
-
方式 A:通过 apt 源安装
添加 Radxa
radxa-deb软件源(rsdk-image当前发布在 testing 源中):Linux@host$sudo tee /etc/apt/sources.list.d/70-radxa.list <<< "deb [trusted=yes] https://mirrors.hust.edu.cn/radxa-deb/rsdk-test/ rsdk-test main"
sudo apt update安装
rsdk-imagedeb 包:Linux@host$sudo apt install rsdk-image -
方式 B:手动下载 deb 安装
访问
radxa-pkg/rsdk-imageReleases 下载最新的rsdk-image_*_amd64.deb,然后本地安装:Linux@host$sudo apt install ./rsdk-image_*_amd64.deb
-
-
运行 rsdk-image
使用
rsdk-image命令启动一个预配置好的容器环境:Linux@host$rsdk-image --name rsdk--name参数为容器名称,可以自定义。- 如果容器已经存在,会直接进入容器;如果需要重建容器,请先执行
docker rm -f rsdk删除旧容器。 - 也可以传入需要执行的命令:
rsdk-image --name rsdk -- <command>。
进入容器后无需再克隆仓库源码,容器内已自带
rsdk工具与 SDK 工作目录,可以直接使用rsdk命令编译系统镜像。
编译 Radxa OS
完成环境搭建后,使用 rsdk 命令运行 TUI 界面:
rsdk
┌─────────────────┤ RSDK ├──────────────────┐
│ Please select a task: │
│ │
│ Build system image │
│ ========= │
│ About │
│ │
│ <Ok> <Cancel> │
│ │
└───────────────────────────────────────────┘
选择 Build system image 选项,可以进一步选择需要构建的主板型号:<sbc_model> 是你需要构建的主板型号。
┌─────────────────┤ RSDK ├──────────────────┐
│ Please select a product: │
│ │
│ (*) radxa-<sbc_model> │
│ │
│ <Ok> <Cancel> │
│ │
└───────────────────────────────────────────┘
选择 yes 后开始构建 Radxa OS,rsdk 会自动完成镜像编译:<sbc_model> 是你需要构建的主板型号。
┌─────────────────┤ RSDK ├───────────────────────┐
│ │
│ Are you sure to build for 'radxa-<sbc_model>'? │
│ │
│ │
│ <Yes> <No> │
│ │
└────────────────────────────────────────────────┘
编译完成后,会在 out 目录下生成主板型号与系统版本对应的文件夹,该文件夹下会生成名称为 output.img 的 Radxa OS 镜像。
选择 Build system image 后,在主板型号列表中选择 radxa-a733 选项。
常见问题
- 构建过程中如遇
rm: cannot remove ... rootfs/boot/efi: Device or resource busy,说明out/<board>/rootfs/boot/efi被挂载,请先执行sudo umount -l out/<board>/rootfs/boot/efi卸载后再删除out目录下的构建产物。 - 方式一相关:Dev Container 设置暂停并提示
You might be rate limited by GitHub;启动开发容器失败时可编辑.devcontainer/devcontainer.json调整runArgs。 - 方式二相关:
rsdk-image容器无法启动时,先执行docker rm -f rsdk删除旧容器再重试。