将 Debian 13 镜像烧录到 reCamera Pro
介绍
reCamera Pro 由 RV1126B 芯片驱动,提供 2 GB 或 4 GB 内存版本。其默认搭载 Buildroot 固件,便于快速开始进行 AI 推理。本页面为需要更高开发与部署灵活性的用户提供 Debian 13 镜像。
烧录 Debian 13 镜像后,你可以使用 CMake 编译自己的应用程序,使用 apt 安装所需依赖,并运行 Docker 容器。该镜像兼容 Seeed 出厂驱动,无需修改设备树。摄像头、麦克风、扬声器和 Wi-Fi 均可正常工作;不支持蓝牙。
该固件目前为实验性质。Seeed 目前不对其进行维护,仅作为额外的开发选项提供。
下载
下载镜像
下载烧录工具和驱动
本指南在 Windows 上使用 SocToolKit 来烧录镜像。请下载以下文件:
烧录前准备
安装驱动
- 解压下载的
DriverAssistant_v5.12.zip压缩包。 - 打开解压后的目录并运行
DriverInstall.exe。

- 点击 Driver Install。

出现如下界面表示驱动已成功安装。

配置 SocToolKit
- 解压
SocToolKit-window.zip,打开解压后的目录并运行SocToolKit.exe。 - 在工具中选择 RV1126B 芯片。

- 解压
recamera_pro_debian13_img.tar.gz。 - 在 SocToolKit 中右键单击并选择右键菜单中的最后一项。

- 在解压后的固件目录中选择
env.img文件。

- 在确认对话框中点击 Yes。

- 选中
rootfs条目并点击其右侧的省略号(...)。将其镜像文件替换为解压后的固件目录中的rootfs_debian_clean.img。

将 reCamera Pro 置于 Loader 模式
- 使用 USB 线将 reCamera Pro 上的 USB 3.0 接口连接到 Windows 电脑,然后通过 DC 口为设备供电。
- 找到设备侧面的
BOOT和RESET小孔。 - 按住
BOOT,然后短按RESET以重启设备。 - 在按下
RESET后继续按住BOOT约 5 秒,然后松开。设备将进入 Loader 模式。
此时 SocToolKit 应该会显示设备已被检测到。

烧录固件
在 SocToolKit 检测到设备并加载固件后,选择除 userdata 之外的所有分区。

点击 Download 开始烧录固件。

烧录完成后,界面应类似如下所示:

在 Linux 上烧录
你也可以在 Linux 上使用 Rockchip 的 upgrade_tool 将固件烧录到 reCamera Pro。本节以 Ubuntu 24.04 为例。
烧录会覆盖设备上的系统数据。继续之前,请备份重要数据,并确保设备已进入 Loader 模式。
环境准备
克隆 Rockchip 工具仓库,并确认其中包含 upgrade_tool:
cd ~
git clone https://github.com/rockchip-linux/rkbin.git
cd ~/rkbin/tools
ls -lh upgrade_tool
然后克隆 Linux_Upgrade_Tool 并将 upgrade_tool 设为可执行:
cd ~
git clone https://github.com/vicharak-in/Linux_Upgrade_Tool.git
cd Linux_Upgrade_Tool
chmod +x upgrade_tool
sudo ./upgrade_tool -v
确认你的 Ubuntu 主机已连接到 reCamera Pro,且设备处于 Loader 模式:
sudo ./upgrade_tool LD
预期输出类似如下:
List of rockusb connected(1)
DevNo=1 Vid=0x2207,Pid=0x110f,LocationID=18 Mode=Loader SerialNo=f28999835716f3be
这表明设备已连接并处于 Loader 模式。
烧录固件
确保所有镜像文件都已下载并解压。然后使用 upgrade_tool 将每个分区写入设备。请将下面示例中的镜像路径替换为你实际解压后的固件文件路径:
# 1. env
sudo ./upgrade_tool WL 0x00000000 "/home/seeed/recaemra_pro/debian_img/env.img"
# 2. idblock
sudo ./upgrade_tool WL 0x00000040 "/home/seeed/recaemra_pro/debian_img/idblock.img"
# 3. uboot
sudo ./upgrade_tool WL 0x00000800 "/home/seeed/recaemra_pro/debian_img/uboot.img"
# 4. misc
sudo ./upgrade_tool WL 0x00002800 "/home/seeed/recaemra_pro/debian_img/misc.img"
# 5. recovery
sudo ./upgrade_tool WL 0x00002880 "/home/seeed/recaemra_pro/debian_img/recovery.img"
# 6. boot
sudo ./upgrade_tool WL 0x00007880 "/home/seeed/recaemra_pro/debian_img/boot.img"
# 7. Debian rootfs
sudo ./upgrade_tool WL 0x0000d080 "/home/seeed/recaemra_pro/debian_img/rootfs.img"
# reboot
sudo ./upgrade_tool RD
关于新固件
烧录完成后,使用网线将设备连接到你的网络。该镜像不支持原有的 USB-C 虚拟网卡。你可以在路由器或 Wi-Fi 管理界面中找到设备的 IP 地址。镜像中已启用 SSH,因此可以直接通过 SSH 登录。如果无法联网,请使用波特率为 1500000 的 UART 串口控制台。
系统仅提供 root 用户,默认密码为 123123。首次登录后请立即修改密码:
passwd
然后完成以下系统配置步骤。
临时配置 HTTP 代理
如果你在访问网络时需要 HTTP 代理(例如使用 apt 时),可以临时设置以下环境变量。如果不使用代理,请跳过此步骤。将示例中的地址和端口替换为你的代理服务器地址和端口。
export http_proxy="http://192.168.4.78:7890"
export https_proxy="http://192.168.4.78:7890"
# Optional: bypass the proxy for local addresses
export no_proxy="localhost,127.0.0.1,::1,192.168.0.0/16"
配置时间
首次启动时,系统时间可能被设置为 1970 年,这会导致 SSL 证书校验失败。由于系统未通过 systemd 配置自动时间同步,请在更新软件包索引前手动设置正确时间:
date -s "2026-09-02 15:20:00"
apt update
配置摄像头方向
首先,找到支持翻转控制的 sensor 节点:
for dev in /dev/v4l-subdev*; do
echo
echo "========== $dev =========="
v4l2-ctl -d "$dev" --list-ctrls 2>&1 | \
grep -Ei 'flip|mirror|horizontal|vertical|rotate'
done
通常你会看到类似如下的输出:
========== /dev/v4l-subdev2 ==========
horizontal_flip 0x00980914 (bool) : default=0 value=1
vertical_flip 0x00980915 (bool) : default=0 value=1
vertical_blanking 0x009e0901 (int) : min=90 max=63375 step=1 default=90 value=90
horizontal_blanking 0x009e0902 (int) : min=4294965822 max=4294965822 step=1 default=4294965822 value=-1474 flags=read-only
默认情况下,水平和垂直翻转可能都已启用。请根据前面输出中显示的设备节点调整命令;本示例使用 /dev/v4l-subdev2:
v4l2-ctl -d /dev/v4l-subdev2 \
--set-ctrl=horizontal_flip=0,vertical_flip=0
验证设置:
v4l2-ctl -d /dev/v4l-subdev2 \
--get-ctrl=horizontal_flip,vertical_flip
预期输出:
horizontal_flip: 0
vertical_flip: 0
测试摄像头
使用 V4L2 采集一帧 NV12 原始图像,然后使用 FFmpeg 将其转换为 JPEG:
v4l2-ctl -d /dev/video12 \
--set-fmt-video=width=3840,height=2160,pixelformat=NV12 \
--stream-mmap=4 \
--stream-count=1 \
--stream-to=/tmp/frame.nv12
ffmpeg \
-f rawvideo \
-pixel_format nv12 \
-video_size 3840x2160 \
-i /tmp/frame.nv12 \
-frames:v 1 \
-q:v 2 \
-y /tmp/camera.jpg
命令执行完成后,在 /tmp/camera.jpg 查看经过 ISP 处理且方向正确的 JPEG 图像。
配置麦克风和扬声器
安装所需的依赖项:
apt install ffmpeg alsa-utils
查看可用的录制和回放设备:
arecord -l
aplay -l
配置 Docker
安装 Docker:
apt install docker-cli
确认 Docker 是否已正确安装:
command -v docker
docker --version
dockerd --version
预期输出类似于:
/usr/bin/docker
Docker version 26.1.5+dfsg1, build a72d7cd
Docker version 26.1.5+dfsg1, build 411e817
配置 Docker
创建 Docker 守护进程配置文件以设置数据目录并禁用默认网络:
cat >/etc/docker/daemon.json <<'EOF'
{
"data-root": "/userdata/docker",
"storage-driver": "overlay2",
"iptables": false,
"bridge": "none"
}
EOF
停止 Docker 并删除残留的运行时文件:
service docker stop 2>/dev/null || true
rm -f /var/run/docker.pid
rm -f /var/run/docker.sock
rm -rf /var/run/docker/containerd
重启 Docker:
service docker restart
测试 Docker
确认 Docker 守护进程正在运行:
ps aux | grep '[d]ockerd'
运行一个测试容器:
docker run --rm hello-world
如果 Docker 配置正确,输出包括:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(arm64v8)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/get-started/
安装 GStreamer 工具并采集相机数据
安装所需工具:
apt update
apt install -y \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-libav
使用以下命令捕获一帧并将其保存为 JPEG 图像:
gst-launch-1.0 -e \
v4l2src device=/dev/video12 num-buffers=1 \
! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 \
! videoconvert \
! jpegenc quality=95 \
! filesink location=/tmp/camera.jpg
命令执行完成后,在 /tmp/camera.jpg 查看经过 ISP 处理的图像。
技术支持与产品讨论
感谢您选择我们的产品!我们为您提供不同层级的支持,以确保您在使用我们产品时拥有尽可能顺畅的体验。我们提供多种沟通渠道,以满足不同的偏好和需求。