Skip to content

hiifong/rkdevtool

Repository files navigation

RKDevTool

Cross-platform desktop GUI for Rockchip USB flashing, built with Tauri 2 + Vue 3.

瑞芯微 USB 烧录工具的跨平台桌面 GUI,基于 Tauri 2 + Vue 3,封装官方命令行工具 upgrade_tool

English · 中文

Screenshots

DshanPi (泰山派)

Luckfox Pro Max


English

A modern alternative to the official Windows-only RKDevTool. Wraps upgrade_tool with real-time logs, device polling, and native builds for macOS, Windows, and Linux.

Features

Page Description
Download Image Flash Loader and partition images from a partition table; optional write-by-address
Upgrade Firmware Full-package upgrade with update.img (UF command)
Advanced Download Boot, extract firmware, read chip info, erase, reboot, switch storage, and more
  • Auto-poll RockUSB devices; status bar shows Maskrom / Loader mode
  • Live log panel with in-place progress updates (Download Image... (xx%))
  • Switch target device from the status bar when multiple devices are connected

Download

Get installers from Releases:

Platform Format
macOS .dmg (Universal, signed + notarized)
Windows .exe (NSIS installer)
Linux .AppImage / .deb

CI Artifacts from main branch pushes are for development only. macOS artifacts are not notarized and cannot be opened by double-click. Use Release builds for distribution.

Development

Requirements

Linux extras:

sudo apt-get install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

USB permissions (flashing without sudo)

On Linux, upgrade_tool needs read/write access to Rockchip USB devices (vendor ID 2207). Without udev rules you may see errors such as Creating Comm Object failed! and must run with sudo.

Install method udev setup
.deb Automatic: rule is installed to /lib/udev/rules.d/ and udev is reloaded during apt install
AppImage Run once: sudo packaging/linux/install-udev.sh (from the repo) or copy the rule manually
From source Manual:

Manual / AppImage one-liner:

sudo packaging/linux/install-udev.sh
# or
sudo cp packaging/linux/99-rkdevtool-rockchip.rules /lib/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger --subsystem-match=usb

Unplug/replug the device (or re-enter Maskrom), then launch RKDevTool as a normal user. Do not run the GUI with sudo unless necessary.

upgrade_tool binaries

Place Rockchip SDK upgrade_tool files under:

src-tauri/bin/
├── mac/                 # upgrade_tool, config.ini, revision.txt
├── linux_x86-64/
└── windows_x86-64/

Use v2.44+ when possible. The bundled Mac tool (v2.13) has incomplete support for newer chips (e.g. RK3576); copy a newer binary from the Linux/Windows SDK if needed.

Run locally

npm install
npm run tauri dev

Build

npm run tauri build

Output: src-tauri/target/release/bundle/

Release (maintainers)

Pushing a v* tag triggers GitHub Actions to build all platforms and publish a Release:

git tag v0.1.0
git push origin v0.1.0

macOS signing & notarization secrets:

Secret Description
APPLE_CERTIFICATE Developer ID Application cert (.p12, base64)
APPLE_CERTIFICATE_PASSWORD Password used when exporting .p12
KEYCHAIN_PASSWORD Temporary CI keychain password
APPLE_ID Apple ID email
APPLE_PASSWORD App-specific password
APPLE_TEAM_ID Developer Team ID

Tech stack

  • Frontend: Vue 3 + TypeScript + Vite
  • Backend: Rust (Tauri 2 commands, upgrade_tool subprocess)
  • Design: Penpot specs in design/

中文

相比官方仅支持 Windows 的工具,RKDevTool 提供 macOS / Linux 原生版本,实时日志输出与现代界面。

功能

页面 说明
下载镜像 按分区表烧录 Loader / 各分区镜像,支持按地址写入
升级固件 使用 update.img 整包升级(UF)
高级功能 下载 Boot、解包固件、读取芯片信息,以及擦除、重启、切换存储等操作
  • 自动轮询 RockUSB 设备,状态栏显示当前连接模式(Maskrom / Loader)
  • 实时日志面板,进度行原地刷新(Download Image... (xx%)
  • 多设备时可在状态栏切换目标设备

下载

Releases 获取安装包:

平台 格式
macOS .dmg(Universal,已签名 + 公证)
Windows .exe(NSIS 安装包)
Linux .AppImage / .deb

push main 分支的 CI Artifacts 仅供开发测试,macOS 未公证,无法直接双击打开。请从 Release 下载正式版。

开发

环境要求

Linux 额外依赖:

sudo apt-get install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf

USB 权限(免 sudo 刷机)

Linux 下 upgrade_tool 需要访问瑞芯微 USB 设备(厂商 ID 2207)。未配置 udev 时可能出现 Creating Comm Object failed! 等错误,只能使用 sudo 刷机。

安装方式 udev 配置
.deb 自动:安装时写入 /lib/udev/rules.d/ 并 reload udev
AppImage 需执行一次:sudo packaging/linux/install-udev.sh
源码运行 手动配置(见下)

手动 / AppImage 一次性命令:

sudo packaging/linux/install-udev.sh
#
sudo cp packaging/linux/99-rkdevtool-rockchip.rules /lib/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger --subsystem-match=usb

重新插拔设备或重新进入 Maskrom 后,以普通用户启动 RKDevTool 即可。除非必要,不要用 sudo 运行图形界面

upgrade_tool 二进制

开发/打包前,将瑞芯微 SDK 中的 upgrade_tool 放入对应目录:

src-tauri/bin/
├── mac/                 # upgrade_tool, config.ini, revision.txt
├── linux_x86-64/
└── windows_x86-64/

建议使用 v2.44+ 版本。Mac 自带旧版(v2.13)对部分新芯片(如 RK3576)支持不完整,可从 Linux/Windows SDK 包中获取较新版本替换。

本地运行

npm install
npm run tauri dev

构建

npm run tauri build

产物位于 src-tauri/target/release/bundle/

发布(维护者)

GitHub Actions 在 push v* tag 时自动构建三平台安装包并发布 Release:

git tag v0.1.0
git push origin v0.1.0

macOS 签名与公证需在仓库 Secrets 中配置:

Secret 说明
APPLE_CERTIFICATE Developer ID Application 证书(.p12 base64)
APPLE_CERTIFICATE_PASSWORD 导出 .p12 时的密码
KEYCHAIN_PASSWORD CI 临时钥匙串密码
APPLE_ID Apple ID 邮箱
APPLE_PASSWORD 应用专用密码
APPLE_TEAM_ID Developer Team ID

技术栈

  • 前端:Vue 3 + TypeScript + Vite
  • 后端:Rust(Tauri 2 命令,封装 upgrade_tool 子进程)
  • 设计:Penpot 设计稿,见 design/

About

Cross-platform desktop GUI for Rockchip USB flashing, built with Tauri 2+ Vue 3. 瑞芯微 USB 烧录工具的跨平台桌面 GUI,基于 Tauri 2 + Vue 3,封装官方命令行工具 `upgrade_tool`。

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors