StarPro64 を普段使いの Desktop として使う(使えるか?)
今年の初夏に RISC-V のシングルボードコンピュータ StarPro64 が入手可能だったので購入しました。この夏に、普段使いの Desktop として使えるか、試しているところです。
pine64.com への注文は下記の通り。
部品 | 値段 (USD) |
STARPRo64 32GB Single Board Computer | 249.99 |
12V 5A POWER SUPPLY with 5.5mm OD/2.1mm ID DC Jack - US version | 14.99 |
Fan for ROCKPro64 20mm Mid Profile Heatsink | 2.99 |
ROCKPro64 20mm Mid Profile Heatsink | 3.59 |
"Model A" ACRYLIC OPEN ENCLOSURE | 8.99 |
合計 | 280.55 |
ファンをヒートシンクをつけてボードに乗っけるとエンクロージャの高さとサイズが合いませんでした。 これから購入するみなさんは、10mm のロープロファイルのヒートシンクの方が良いでしょう。
eMMC を購入するのを忘れたので、わたくしは手持ちの microSD card を使うことにしました。
使う機材
- ノートパソコン
- USBシリアル通信のためのボードとUSBケーブル: USB Serial TTL FT232RL
- USBシリアル通信のためのワイヤー
- USB キーボード
- USB マウス
- HDMI ケーブル
- ディスプレイ
参考にしたドキュメント、リポジトリなど
以下のドキュメント、リポジトリを参考にして、動かしました。
動かした手順
USBシリアルをつなぐ
以下のページを参考にして USBシリアルの 3本の線をつなぎました。
https://lupyuen.org/articles/starpro64.html#boot-without-microsd
SPI flash -- そのまま
SPI flash に U-boot が入っていて、microSD からカーネル、デバイスツリー、とinitrdを読み込んで boot するようになっていました。
SPI flash は更新せずに、 出荷された状態の U-boot の
- ::
- U-Boot 2024.01 (May 13 2025 - 11:17:59 +0800)
このバージョンのものをそのまま使いました。
microSD に用意したもの
RockOS の sdcard イメージを下記の URL より入手しました。 sdcard-rockos-20250729-015830.img.zst が入手したイメージです。
https://fast-mirror.isrc.ac.cn/rockos/images/generic/20250530_20250729/
以下のようにして microSD card (わたくしの場合は /dev/sdc)にノートパソコンから書き込みました。
# zstd --decompress --stdout sdcard-rockos-20250729-015830.img.zst | \ dd iflag=fullblock status=progress bs=1M of=/dev/sdc
この後、 parted で実際の microSD card に合うようにパーティションを調整しました。
U-Boot の設定で変更したところ
mmc1 (microSD card のインターフェース)から boot するようにしました。
boot_targets=mmc1 usb ahci nvme mmc0
カーネルが立ちあがってから microSD が使えるように starpro64 のデバイスツリーを読み込むようにしました(変更前は eic7700-evb.dtb で、これだと microSD が read-only となって動かない)。
fdtfile=eswin/eic7700-pine64-starpro64.dtb
ソースコード(rockos-kernel/arch/riscv/boot/dts/eswin/eic7700-pine64-starpro64.dt)の中の
&sdio0 { /* sd card */ status = "okay"; delay_code = <0x70>; drive-impedance-ohm = <33>; enable-cmd-pullup; enable-data-pullup; no-sdio; no-mmc; disable-wp; };
disable-wp が効くと考えられます。