Debian 13 イメージを reCamera Pro に書き込む
はじめに
reCamera Pro は RV1126B チップを搭載し、メモリは 2 GB または 4 GB の構成が用意されています。AI 推論をすぐに始められるよう、出荷時には Buildroot ファームウェアがプリインストールされています。本ページでは、開発やデプロイをより柔軟に行いたいユーザー向けに Debian 13 イメージを提供します。
Debian 13 イメージを書き込んだ後は、CMake を使って独自アプリケーションをコンパイルし、apt で必要な依存関係をインストールし、Docker コンテナを実行できます。このイメージは Seeed の工場出荷時ドライバと互換性があり、デバイスツリーの変更は不要です。カメラ、マイク、スピーカー、Wi-Fi は期待どおり動作しますが、Bluetooth には対応していません。
このファームウェアは現在実験的なものです。現時点で 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 をローダーモードにする
- reCamera Pro の USB 3.0 ポートと Windows コンピュータを USB ケーブルで接続し、DC ポートから電源を供給します。
- デバイス側面にある
BOOTとRESETのピンホールを探します。 BOOTを押し続けたまま、RESETを短く押してデバイスを再起動します。RESETを押した後も約 5 秒間BOOTを押し続け、その後離します。デバイスはローダーモードに入ります。
SocToolKit 上で、デバイスが検出されたことが表示されるはずです。

ファームウェアを書き込む
SocToolKit がデバイスを検出し、ファームウェアを読み込んだら、userdata 以外のすべてのパーティションを選択します。

Download をクリックしてファームウェアの書き込みを開始します。

書き込みが完了すると、インターフェースは次のようになります。

Linux で書き込む
Linux から Rockchip の upgrade_tool を使用して、reCamera Pro にファームウェアを書き込むこともできます。このセクションでは Ubuntu 24.04 を例に説明します。
書き込みを行うと、デバイス上のシステムデータは上書きされます。重要なデータはバックアップを取り、続行する前にデバイスがローダーモードになっていることを確認してください。
環境を準備する
Rockchip tools リポジトリをクローンし、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 に接続されており、デバイスがローダーモードになっていることを確認します:
sudo ./upgrade_tool LD
期待される出力は次のようになります。
List of rockusb connected(1)
DevNo=1 Vid=0x2207,Pid=0x110f,LocationID=18 Mode=Loader SerialNo=f28999835716f3be
これにより、デバイスが接続されローダーモードになっていることが確認できます。
ファームウェアを書き込む
すべてのイメージファイルがダウンロードおよび展開されていることを確認します。その後、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
新しいファームウェアについて
書き込み後、Ethernet ケーブルを使用してデバイスをネットワークに接続します。このイメージは、元の USB-C 仮想ネットワークアダプタをサポートしていません。デバイスの IP アドレスは、ルーターまたは Wi-Fi 管理画面で確認できます。このイメージでは 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
カメラの向きを設定する
まず、反転制御をサポートするセンサーノードを探します。
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 の生フレームを 1 枚キャプチャし、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
次のコマンドを使用して 1 フレームをキャプチャし、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 処理済み画像を表示します。
技術サポートと製品ディスカッション
弊社製品をお選びいただきありがとうございます。弊社は、製品をできるだけスムーズにご利用いただけるよう、さまざまなレベルのサポートを提供しています。お客様それぞれの好みやニーズに対応するため、複数のコミュニケーションチャネルをご用意しています。