本ページはアフィリエイトによる収益を得ています
Raspberry Pi 5に純正オプションボード、M.2 HAT+をインストール、NVMe SSDから起動して爆速Volumioを実現したので備忘録として記します。
また、VolumioをRoonのOutputにしてみたところ良い結果が出たので、その方法も記します。
尚、本記事は既にRaspberry Pi 5でVolumioをインストール済、SSH接続可能、かつnanoが使えることが前提となっています。
※表示価格やバージョンは本記事執筆時点のものです。
※Volumioのプレーヤー名はインストール直後のデフォルト「volumio」です。
NVMe:NVMe(エヌブイエムイー)とは「Non-Volatile Memory Express」を略した呼び名です。 SSDをはじめ、不揮発性メモリを使用したフラッシュストレージのために最適化された通信プロトコル(異なるデバイスが通信する際の手順やルールのこと)を指します。ロジテックダイレクト
Raspberry Pi 5にM.2 HAT+とNVMe SSDで爆速Volumioへ
発売と同時に入手していたRaspberry Pi 5を持て余していたところ、以前からアナウンスのあったRaspberry Pi純正オプションボード、M.2 HAT+が発売されました。
これはRaspberry PiでM.2 SSDを使用可能にし、そこから起動させることも出来る代物。Raspberry Pi 5が爆速になるならやらない手はありません。
とりあえずKSYで購入してから詳細を調べることにしました。
Raspberry PiをUSB/NVMeから起動するには適合性確認と事前準備が必要
M.2 HAT+は前出のKSYかスイッチサイエンスで入手可能です。
肝心のNVMe SSDは相性があるため、何でも良いというわけではありません。
NVMe SSDの適合性
NVMe SSDの適合性についてもVolumioのコミュニティにリストがあります。(最上段付近にあるのはIncompatibility List(不適合リスト) であることに注意)
以下の3点が必須チェック項目です。
- Gen 3または4のNVMe SSD
- 「Low Power Consumption(低消費電力)」であること
- Phisonコントローラーではないこと
Raspberry Pi用HATなどを発売しているPineberry Piには具体的な適合リストが公開されています。こちらの方がスコアも併記されているため分かりやすいでしょう。
以下、スコア順に並び替えた表を引用します。
Name | DD Write (MB/s) |
HDParam (disk) (MB/s) |
Score (pibenchmarks) |
---|---|---|---|
Sabrent Rocket 4.0 | 350 | 773.9 | 47,002 |
Western Digital SN530 | 441 | 845.35 | 45,735 |
Lexar NM620 | 444 | 849.2 | 44,542 |
Kingston KC3000 | 393 | 832.70 | 44203 |
KIOXIA EXCERIA | 394 | 802.09 | 43030 |
Samsung 980 | 426 | 791.31 | 42,230 |
PNY CS1030 | 444 | 744.15 | 42,203 |
XPG GAMMIX S70 BLADE | 403 | 829.90 | 41316 |
Lexar NM710 | 393 | 849.91 | 40542 |
Crucial P3 Plus M.2 Series | 441 | 798.97 | 40,118 |
Pineberry Pi Pinedrive (2280) | 388 | 817.69 | 38547 |
Samsung 970 EVO Plus | 314 | 776.7 | 27,960 |
Crucial P3 Plus | 359 | 777.5 | 26,163 |
筆者はNVMe SSDにデータ保管する予定はなく、ブート出来さえすれば良いので256GBで十分です。上記モデルの中で最も容量の小さいLexar NM620 256GB (LNM620X256G-RNNNG)を購入しました。価格も¥3,980なので気軽に買えます。
1. 事前準備
Raspberry PiをUSBやNVMeから起動する方法もVolumioのコミュニティにまとめられています。 その通りに進めば問題ありませんが、ブートローダーの書き換えのためRaspberry Pi OSが必要です。
2. 最新のRaspberry Pi OSをインストール、アップデート
Volumioとは別のMicro SDカードを用意し、最新のRaspberry Pi OSをインストール、アップデートします。
![Raspberry Pi Imager](rpi-imager.jpg)
まずRaspberry Pi Imagerをパソコンにインストール、同ソフトを立ち上げ、パソコンにマウントしたMicro SDカードにRaspberry Pi OSをインストールします。Raspberry Pi Imagerはコマンドラインインターフェイス(CLI)を必要としないGUIタイプのため、迷わず操作できます。
GUI(Graphical User Interface):マウスなどのポインティングデバイスを用いてコンピューターへの命令を、ユーザーが視覚的に捉えてできるようにするためのインタフェースです。NTT西日本
Raspberry Pi OSのインストールが完了したら、Micro SDカードをRaspberry Pi本体に差し込んで起動します。
Raspberry PiのLXTerminalを起動して以下のコマンドを入力します。
sudo apt update
sudo apt full-upgrade
sudo reboot
3. ブートローダーのバージョン確認とアップデート
Raspberry Piのブートローダーを最新版にアップデートします。
※Volumioのコミュニティには、かなり細かなアップデート方法まで書かれていますが端折っても問題ありません。
sudo rpi-eeprom-update
アップデートが存在する場合は適用してRaspberry Piを再起動します。
sudo rpi-eeprom-update -a
sudo reboot -n
4. ブートローダーの設定を変更
Raspberry Piを再起動後、再びLXTerminalを起動して以下のコマンドを入力します。
sudo rpi-eeprom-config
下記のコマンドを入力してブート順序を変更します。
sudo -E rpi-eeprom-config --edit
BOOT_ORDER=0xf461
PCIE_PROBE=1
変更を書き込み(Ctrl-O)、終了(Ctrl-X)して再起動します。
sudo reboot
Raspberry Piを再起動後、改めて終了して電源も抜いておきます。
![NVMe SSDを装着したところ](IMG_0268.jpg)
電源を抜いたRaspberry Pi 5にM.2 HAT+とNVMe SSDを装着します。
![NVMe SSDにカプトンテープを巻いて固定](IMG_0267.jpg)
M.2 HAT+には筆者が購入したType2280のLexar NM620 256GB (LNM620X256G-RNNNG)を留めるビスがなく、このままだとNVMe SSDが浮いてしまいますので、発熱を考慮してカプトンテープで固定しました。
これでRaspberry Pi本体の下準備は完了しました。
次はVolumioの設定を変更します。
5. Volumio側の準備
VolumioをインストールしたSDカードをRaspberry Pi 5に差し込んで起動します。
設定 → システム → システム更新 → 「更新のチェック」ボタンを押下してVolumioのバージョンを最新にしておきましょう。
![ディスクにインストールする「ディスクにインストールする NVMe」ボタンを押下する](install-on-disk.jpg)
システム設定 → ディスクにインストールする「ディスクにインストールする NVMe」ボタンを押下します。
![警告画面](install-on-disk-confirm.jpg)
警告画面が出ますが「はい」を押下して進めます。
![インストール中の表示画面](installing-to-disk.jpg)
プログレスバーが表示され、インストールが進みます。
インストールが終わると再起動を促されますが、Volumioの電源をオフ → 本体のUSB Type-Cコネクタを抜く → Micro SDカードを抜く → 本体のUSB Type-Cコネクタを差し込んで再起動します。再起動後はNVMe SSDから起動されているはずです。
ただし、設定等は引き継がれずクリーンインストールの状態です。設定ウィザードが起動しますので、設定を行ってください。
![内部ストレージが256GBと表示されている](storage-info.jpg)
インストール後、Volumioのプラグイン「System Information」でStorage infoを見てみると内部ストレージが256GBになっていることが分かりますね。
起動時間を比較
Micro SDカードとNVMe SSDでVolumioの起動時間がどれくらい変わるのかを計測してみました。
電源ケーブル(USB Type-C)を接続して起動音が聞こえるまでをストップウォッチで3回測ったものが以下です。
起動方法 | 1回目 | 2回目 | 3回目 | 平均 |
---|---|---|---|---|
Micro SDカード | 01:00.39 | 01:01.12 | 01:00.58 | 01:00.41 |
NVMe SSD | 00:56.44 | 00:56.18 | 00:56.08 | 00:56:19 |
Micro SDカードよりNVMe SSDの方が4〜5秒ほど早いことが分かります。
思ったほど速くないなあというのが正直な感想ですが、プラグインのインストールや検索機能を使うと、驚くほどキビキビ動きます。
VolumioのRoon Ready対応化
プラグイン「Volroon」でRoon Ready対応化させる
![Volumioプラグインの「Volroon」](volroon-ss.jpg)
Raspberry Pi 5をRoon Ready対応化させるにはVolumioプラグインのVolroonをインストールします。
ただし、このプラグインはβチャンネルとして提供されているため、そのままではVolumioのプラグイン管理画面に表示されません。
表示させるためには次のように設定を変更する必要があります。
Volumioの設定を変更するにはブラウザのアドレスバーに
と入力します。
![「Plugins Test Mode」を「TRUE」へ変更](plugin-test-mode.jpg)
上から3段目の「Plugins Test Mode」と書かれた下の「TRUE」ボタンを押下します。
![Volumioのプラグイン「Volroon」をインストール](volroon.jpg)
プラグイン管理画面の「プラグインの検索」タブ下「Music Services」をクリック → 下へスクロールして「Volroon」の「インストール」ボタンを押下します。
これでVolumioのRoon Ready対応化が完了です。
Roon側でVolumioをOutputとして認識させる
ここまで来たらあと一息。
VolumioをRoon側で認識させます。
![Roonの設定内にあるオーディオ](roon-ready.jpg)
パソコンやスマホでRoonを立ち上げ、設定(歯車マークまたは) → オーディオから、先ほどRoon Ready対応化が完了した端末を探して「有効」ボタン押下します。
![Roonの設定内にある拡張](roon-extension.jpg)
次にRoonの設定 → 拡張 → Roon拡張にVolroonが表示されているので、これも有効化します。
![Volumioの画面にroonで再生中のメタデータが表示されている](roon.jpg)
以上でRoon側でVolumioをOutputとして認識し、Roon Output先として選んだVolumioの画面には現在再生されているアートワークやメタデータ(曲名やアーティスト名など)が表示されるようになりました。上の画像でハートマークの左に「roon」と表示されているのが分かります。
注意
冷却ファンは必須
NVMe SSDは特性上、かなりの発熱があります。
Raspberry Pi 5でNVMe SSDを使うには発熱処理が必須、冷却ファンも事前に購入しておくことを強くおすすめします。
ただし、Raspberry Pi 5は同4とレイアウトが異なるため「5対応品」またはM.2 HAT+と干渉しないHAT型かケース一体型にするとよいでしょう。
5V 5Aの電源アダプターがないと起動失敗する
Raspberry Pi 5の電源は5V 5Aが必要です。特にNVMe SSDのように電源を必要とするオプションを付けていると、同4まで使えていた5V 3Aの電源アダプターでは起動失敗することがあります。
5Aを供給できる電源アダプターも必ず揃えておきましょう。
まとめ
VolumioをRoon Ready化したことによって、Roonでハイレゾストリーミングを楽しみながらradikoをAirPlayでVolumioに飛ばすことも出来る。まさに一石二鳥ならぬ一ラズパイ二鳥。
USBでRME ADI-2 DAC FSに接続してやれば音質を損なうこともなく転送出来るし、ボトルネックとなっていたブートロードもNVMe SSDで解消。もう言うことないんじゃないの!と一人で喜んでおります。
RoonユーザーでRaspberry Piを持っているなら、Roon Ready化だけでも試してみる価値はありますよ。
特にRoonは負荷分散を基本設計としているため、ServerとOutputは分けたほうが良い結果が出やすいと思います。