Radxa Rock5 Model Bの開封から使い始めるまで

昨今、Raspberry Piが品薄で手に入らない状態が続いています。

個人的にはRaspberry Piを5台持っているので、新しいモデルでも出てこない限りは購入する予定は無いのですが、IoT系のプロジェクトでは結構申告な状態だったりします。

そんな中、産業用途のRaspberry Piの代替としてRSコンポーネンツがRadxa(ラクサ)社のRock 5 Model Bの取り扱いを始めました。

以下の文はこちらの記事から引用したものです。アールエスコンポーネンツ、業務用最先端 シングルボードコンピュータ「Rock 5」の国内販売を開始|アールエスコンポーネンツ株式会社のプレスリリース(配信日時:2023年1月17日 14時00分)

当社は、世界で最も成功したSBC「ラズベリーパイ」を日本で初めて販売し、その後10年にわたり、同製品の製造・流通・販売を担ってきました。しかし、SBC市場の拡大に伴い、元々教育向けに開発されたラズベリーパイと、産業利用を期待するお客様のニーズとの間のギャップが問題となっており、今回「Rock 5 Model B」を含む業務用SBCの販売を行うに至りました。

手元に届いたので簡単に触ってみた感じを書こうと思います。

開封・外観

格好良い箱に入っています。となりに置いてあるのはRaspberry Pi4になります。

紙のカバーの中にはRock5 Bの大きさにピッタリのクリアケースが入っています。Raspberry Piより一回り大きいです。

取り出したところ。やっぱり一回り大きいです。

ちなみにRaspberry Piにはケースが沢山あり以下の記事でも検証して↑の写真のケースを使っています。

yomon.hatenablog.com

それに比べるとRock5Bのケースはまだまだ揃っていなそうです。こんなコミュニティスレッドもあります。

Metal case for Rock 5 - when ? How? - ROCK 5 Series - Radxa Forum

ハードウェアについてはこちらのページから引用した以下の画像で確認できます。

情報

以下のRadxaのWikiを読みながら作業するとスムーズです。

Rock5 - Radxa Wiki

Radxaのフォーラムも参考になります。

Latest ROCK 5 Series topics - Radxa Forum

Raspberry Piとの仕様比較もあります。

こちらから引用

触ってみる

OSイメージ

Wikiからもダウンロードできますが、Desktop版がダウンロードされます。 https://wiki.radxa.com/Rock5/downloads

GitHubからもダウンロード可能です。こちらの方が細かいバージョンや種類を選ぶことができます。

github.com

今回は以下のイメージを使っています。

rock-5b-debian-bullseye-server-arm64-20230201-1145-gpt.img.xz

xz形式なので、7zip等で解凍して、Wikiに記載されているとおりEthcerでMicroSDに書き込みます。これでOS起動できます。

Serial Console接続

Serial Consoleでの接続する場合は以下のパラメータで接続します。Serial通信で利用するパラメータは以下の通りです。

Parameter Value
baudrate 1500000
data bit 8
stop bit 1
parity none
flow control none

ただ、 こちらに以下の記載があります。実際に自分の手元のRaspberry Pi用のUSB to Serialケーブルでは接続できませんでした。

The default baudrate of ROCK 5 is 1500000(1.5Mbps), please check if your USB to TTL cable support 1.5Mbps baudrate. Some model of CP210X and PL2303x have baudrate limitation,and the FT232RL have some power issue(20211112), please check the specified model. We also tested that some cable does not work well. Make sure choose a high quality one. The instructions below use a CH340_series based cable.

書かれている通り、CH340のチップが入っている以下のデバイスを購入しました。

USBに差し込むとデバイスマネージャーからCH340がCOM13で認識されていることが確認できます。

配線は以下の通りです。

今回はPCに入っていたTeratermから繋げてみます。↑の方で書いたパラメータで接続します。

無事にOSに入れました。

Wi-Fi接続 & SSH接続

有線LANでは無くWi-Fi使いたい時には、Rock5BにはWi-Fiモジュールがデフォルトでは組み込まれていないためWi-Fiを使いたければ自分で取り付ける必要があります。

ここも動かないと嫌なので、以下からテスト済みであるIntel AX210を購入して取り付けてみました。

https://wiki.radxa.com/Rock5/linux/debian#WiFi

M.2 E-KEYの口があるので、取り付けは簡単です。

後はnmcliで以下のコマンドを実行すれば、自宅のルータには問題無く接続できました。

# SSIDのScan
nmcli dev wifi

# Wi-Fi接続
nmcli dev wifi con <SSID> password <password>

WiFi繋がればデフォルトでSSHが有効になっているので rock ユーザでログインできます。パスワードもユーザ名と同様の rock です。

ssh rock@192.168.xxx.xxx

M.2 NVMe SSDからのOSブート

Rock5Bの裏にはM.2 type2280の口があるので、ブートローダーを書き換えることでSSD直接指すことが可能です。

方法はいくつかあるのですが、ここまでの手順にそってMicroSDカードからブートしたOSからブートローダーの書き換えを行います。

イメージファイルは以下にあるので、こちらを利用します。

Index of /rock5/sw/images/loader/rock-5b/release

# ブートローダーのダウンロード
$ wget -O spi-image.img https://dl.radxa.com/rock5/sw/images/loader/rock-5b/release/rock-5b-spi-image-g49da44e116d.img

# ブートローダーのチェックサム確認
$ md5sum spi-image.img
46de85de37b8e670883e6f6a8bb95776  spi-image.img

# SPIフラッシュメモリのクリア用のファイルをダウンロード
$ wget https://dl.radxa.com/rock5/sw/images/others/zero.img.gz

# 解凍してクリア用ファイルのチェックサム確認
$ gzip -d zero.img.gz
$ md5sum zero.img
2c7ab85a893283e98c931e9511add182  zero.img


# SPIフラッシュメモリのデバイス名確認
$ ls /dev/mtdblock*
/dev/mtdblock0


# SPIフラッシュメモリにクリア用イメージをを書き込みクリア
# 数分かかります動いているか心配になるのでvmstat等で確認しておくと安心です
$ sudo dd if=zero.img of=/dev/mtdblock0
32768+0 records in
32768+0 records out
16777216 bytes (17 MB, 16 MiB) copied, 6.67669 s, 2.5 MB/s

# クリア用イメージが書き込めていることをチェックサムが同じことで確認
$ sudo md5sum zero.img /dev/mtdblock0
2c7ab85a893283e98c931e9511add182  zero.img
2c7ab85a893283e98c931e9511add182  /dev/mtdblock0

# SPIフラッシュメモリにブートローダーイメージを書き込み
# ここも数分かかるのでvmstat見ておくと安心です
$ sudo dd if=spi-image.img of=/dev/mtdblock0;sync
32768+0 records in
32768+0 records out
16777216 bytes (17 MB, 16 MiB) copied, 178.922 s, 93.8 kB/s


# ブートローダーがSPIフラッシュメモリに書き込めていることをチェックサムが同じことで確認
$ sudo md5sum spi-image.img /dev/mtdblock0
46de85de37b8e670883e6f6a8bb95776  spi-image.img
46de85de37b8e670883e6f6a8bb95776  /dev/mtdblock0

# 再起動
$ sudo poweroff

後はOSイメージをM.2 NVMe SSDに書き込んで、Rock5Bの裏側に装着して起動すればSSDからOSが起動されます。

ここで使っているSSDは以下になります。

SSDにUSB経由でEthcerで書き込むために、こちら使っています。SSDだとOSイメージ書き込みが15秒とかで終わるので特にOSを書いたり消したりを繰り返す開発期間は助かります。

さいごに

以下のWikiを読めばわかることが多いのですが、まずは最低限使うまでの部分を整理してみました。

Rock5 - Radxa Wiki