あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

Raspberry Pi Compute Module 4でNVMeブートを試す

Raspberry Pi 4 EEPROMの新しいベータ版がリリースされました。Raspberry Pi Compute Module 4でNVMe SSDブートが追加されています。

github.com

CM4ではUSBブートも可能ですが、IOボードのUSBポートはUSB2.0なので遅く、USB3.0からブートするにはVL805を搭載したPCIeのUSBボードが必要でした。

akkiesoft.hatenablog.jp

NVMeから直接ブートできるようになると、VL805カードではなくNVMe-PCIe変換を直接挿して起動できるようになって、Pi4シリーズ最速のストレージになれそうです。

(写真はPCIe変換を買ったときのブログから。)

f:id:Akkiesoft:20210106172210j:plain

やっていき

CM4のEEPROM書き換えはrpi-eeprom-updateコマンドではできないので、設定ファイルを練り込んだEEPROMイメージファイルを別のRaspberry Pi上で用意してrpibootコマンドで書き込む必要があります。これは12月にもやったのでそちらを参照。ただし、設定ファイルを練り込んだEEPROMイメージを作る作業はシェルスクリプトが用意されて少しかんたんになっていました。

akkiesoft.hatenablog.jp

起動順序は「SD->USB2.0->PCIe->USB3.0(刺さってたら)->PXE->ループ」としました。

# 右から順に書く。1がSD、5がUSB2.0、6がPCIe…
BOOT_ORDER=0xf24651

起動

動画を録ってみました。

www.youtube.com

/bootが読まれるまでに時間がかかっていますが、PCIeの認識に時間がかかるのか、その手前のUSB2.0タイムアウトするまでに時間がかかるのかは深追いしていないので不明です。PCIeを一番最初にしても良かったかも知れませんね。EEPROMがstableになったら次はそうしようかな。

その後のLinuxブートはまあ普通の速度で起動しましたね。

起動後のhdparmを実行しましたが、前にはかったときのスピード変わりなく、380MB/s前後でした。それはそう。

NVMeが刺さるだけのミニIOボードが欲しいね

速度は最高なんですが、IOボードにNVMeをぶっ刺すスタイルはだいぶシュールと言うか、光の柱エフェクトを付けてマンションポエムをつけられそうな勢いすら感じられます。そろそろCM4が載せられるサードパーティのIOボードも出て来ると楽しそうですよね。2230とか2242のM.2スロットをつけてコンパクトに収められるやつとかあったら良さそう。

って適当なこと書いて実際あったらアレだなと思ってググったら、ありましたわ。ちょっといいお値段するのが悩ましいですね。SIMスロットとかいらんかったなあ。

TOFUstore.oratek.com

あとは、Jeffがまとめてくれているので、ここからいい感じのボードを探しても良さそうです。見てて楽しい。

github.com