Raspberry Pi 5 で M.2 SSDから起動させる手法
Raspberry Pi 5の販売が開始されましたね。
技適が取得されていないため日本ではまだ販売されていませんが、早速海外サイトで購入して届いたので早速遊んでみます。
PimoroniでNVMe のSSDをつけるHATも入手したので、稼働試験がてらオーバースペックですがSSDを使ってみることにします。
macOS 前提で書きます。Windowsはわからんのです。
技適について
2023/11/17 現在海外で販売されているRaspberry Pi 5は技適未取得なので、日本でそのまま使用することはできません。困った。
でも大丈夫!
海外などの製品で技滴未取得のものを短期間の実験・試験・調査する目的であれば、技適未取得機器を用いた実験等の特例制度を使って申請すると最大180日間合法で使用することが出来ます。
申請についてはアカウントを作成して実験の目的や規格(Bluetooth, WiFi)の詳細を入れたりする必要がありますが、それほど難しいものでもありません。
そうそう、180日過ぎてもう一度申請するということはできないのでご注意を。
※2024/01/11に技適適用されたようです。
近いうちに技適マークの付いたRaspberry Pi 5が発売されると思います
前提
PimoroniのサイトでSSDを使うための方法を書いてありますが、SDカードにRaspberry Pi OSを入れてRaspberry Pi上でSDのイメージをSSDにコピーするというやり方になっています。ですが今回はあらかじめSSDにはMacからイメージを書き込んでおき、SDカードにいれたOSからはFirmwareのアップデートとか最初に設定しなければならないことにだけ使います。
※この方法はNVMe 外付けケースが必要になります。
インストール
SDカードにRaspberry Pi OSをインストールして、SSDに転送するケースがよく記事になっていますが、今回はSDカードにRaspberry Pi OSを入れSSDにはRecalboxをインストールし、最終的にSSDで起動できるようにします。
ちなみになぜRecalboxなのかというと、最終的にPC98のゲームを起動させたいと考えているからです。
数年前 Raspberry Pi 3 で遊んだときは、RetroPieを使用していましたが、同じものを使っても面白くないのでほかにないかな?と探したところRecalboxをみつけ、しかもすでにRaspberry Pi 5用のパッケージも用意されていて勢いを感じたのでRecalboxを使ってみることにしました。
Raspberry Pi OS をSDカードにインストール
1.Raspberry Pi Imagerをダウンロード
2.Raspberry Pi Imagerを実行
3.デバイスを「Raspberry Pi 5」、OSを「Raspberry Pi OS (64-bit)」を選択
4.書き込むSDを選択して次に進むと設定をあらかじめWiFiの設定やSSHの設定を編集することができるので、先にやってしまうと後が楽です。
RecalboxをSSDにインストール
1. Recalboxのイメージをあらかじめダウンロード
2.Raspberry Pi Imagerをダウンロード
3.Raspberry Pi Imagerを実行
4.デバイスを「Raspberry Pi 5」、OSは一番最後にある「Use custom」を選択して1でダウンロードしたイメージを指定。
5.インストールしたメディアをFinderで開き、config.txtを好きなテキストエディタで開く。
6.config.txt内に [all] があるのでその一番下に以下を追加します。これはPCIe を3.0で使うためのおまじないです。
dtparam=pciex1_gen=3
これで各メディアにOSをインストールできました。
次は実際に起動します。
ブートローダーのアップデートと起動
PCIe(SSDを接続する)を使用できるようにするにはまずRaspberry Pi 5のブートローダーをアップデートする必要があります。
まずはRaspberry Pi OSをインストールしたSDカードと、RecalboxをインストールしたSSDをRaspberry Pi 5にセットして起動します。
起動したらブートローダーのバージョンを確認します。
sudo rpi-eeprom-update
このコマンドを叩くと現在のバージョンと最新のバージョンが表示されます。
CURRENTとLATESTが一緒であれば問題ないのですが、たいていはCURRENTが古いので以下のコマンドで更新しておきます。
sudo rpi-eeprom-update -d -a
sudo reboot
再起動が終わったらおまじないを追加します。
sudo rpi-eeprom-config --edit
[all]
BOOT_UART=1
POWER_OFF_ON_HALT=0
PCIE_PROBE=1
BOOT_ORDER=0xf146
・PCIE_PROBE=1 を追加
control + xで終了します。(viと違うので戸惑いました😅)
ブートメディアの設定をします
sudo raspi-config
Advanced Options>Boot Order を開く
ここで2番目のNVMeを選択するとNVMe SSDからのブートになります。
しかし今回SSDに入れるRecalboxはraspi-configコマンドが入っていないので、ブートをSDカードに戻したいときにハード的にSSDを外す必要があります。
SDカードから起動しないよという人はいいのですが、そうでない人は1番目のSDカードを選んでおくといいです。
この設定はSDカードが入って入ればSDカードから起動し、もしSDカードが挿入されていなかったら別のメディア(今回はSSD)から起動してくれますので、非常に使い勝手がいいです。
最後にシャットダウンします。
sudo shutdown -h now
SDカードを抜き起動してみます。
SSDから起動できていれば成功です🎉
最後に
SSDはSDカードと比べて段違いの速さと信頼性があるので、使える幅が広がりますね。
次回はRecalboxでPC98のゲームを動かしてみます。