【備忘録】【海外記事】 Raspberry Pi 5でNVMe SSDブート
元記事
このチュートリアルの内容のほとんどはJeffのブログから引用しています: Raspberry Pi 5でNVMe SSDをブートする, Thanks fo Jeff
目次
1 出発前にお読みください
2 重要な注意事項
3 PCIeを有効にする
4 OSをNVME SSDにフラッシュする
5 NVMe をブート順序の初期に設定する
6 FAQ
出発前にお読みください
PCIeを有効にする:SDカード上のOSではなく、起動するNVME SSD上のOSでPCIeを有効にする必要があります。多くの人は、SDカード上のOSでPCIeを有効にするだけです。
eepromファームウェアを更新する: ブートローダーのファームウェアをチェックし、最新バージョンにアップグレードする;
NVMEのブート順序を設定する;
PCIe 3.0を有効にしないでください。PCIe 2.0のみがRaspberry Pi fundationでサポートされています。
SSDが古くてDOSパーティションがある場合、DOSパーティションを削除してSSDのパーティションを切り直してください。
具体的な操作方法は以下のガイドをご覧ください。
[追記]: Raspberry Piの公式ファームウェアは頻繁にバージョンアップされており、OSの安定性が十分ではありません。これも私たちの課題です。
重要な注意事項
NVMe SSD非互換性リスト:
Phison コントローラを搭載した以下の NVMe SSD ドライブは、非互換性が証明されているため、使用しないことをお勧めします:
・WD Blue SN550/SN580シリーズ
・WD Green SN350 シリーズ
・WD Black SN850シリーズ
・同じPhisonコントローラーを搭載したその他のNVMe SSDドライバー
X10xx シリーズ NVMe シールド用の NVMe SSD オプションを検討する際には、これらの特定のモデルを避けることをお勧めします。SSDのコントローラブランドを確認するには、"lspci "コマンドを実行することができます。Raspberry Pi Foundationがこの問題をすぐに解決してくれることを期待しています。
追加事項:
・M.2 NVMe SSDと互換性があります。
・M.2 SATA SSD、M.2 PCIe AHCI SSD、その他のM.2非NVMeデバイスとは互
換性がありません。
・効率性の低いフラッシュ・メディアを使用した古いNVMeドライブは、新しいド
ライブと比較して性能が劣る可能性があります。
・新しいNVMe SSDにはパーティションが設定されていないため、エクスプロー
ラでアクセスする前に、Raspberry Piに最初に接続したときにパーティション設
定とフォーマットの両方を行う必要があります。
PCIeを有効にする
デフォルトではPCIeコネクターは有効になっていません。有効にするには、/boot/firmware/config.txtに以下のオプションを追加し、再起動してください:
#/boot/config.txt is a link to /boot/firmware/config.txt, they are the same file
sudo nano /boot/config.txt
そして次のコメントを加える;
# Enable the PCIe External connector.
dtparam=pciex1
# This line is an alias for above (you can use either/or to enable the port).
dtparam=nvme
Ctrl-Oを押し、Enterを押してファイルに変更を書き込む。
Ctrl-Xでnano(エディタ)を終了する。
そして、接続はGen2.0のスピード(5GT/sec)で認証されていますが、次の行を後に追加すれば、強制的にGen3.0(10GT/sec)にすることができます:
dtparam=pciex1_gen=3
ただし、Gen 3.0は正式にサポートされておらず、安定動作しない可能性があるため、使用はお勧めしません。
再起動をお忘れなく
sudo reboot
また、公式ドキュメント「PCIeを有効にする」も参照してください。
OSをNVME SSDにフラッシュ
NVMe SSDでPiを起動させるには、OSが必要なので、Raspberry Pi OSをNVME SSDにフラッシュする必要があります!
Raspberry Pi OS (Bookworm) バージョンのみをサポートします。Raspberry Pi OS bullseye はサポートされていません。https://www.raspberrypi.com/software/operating-systems/ にアクセスしてください。
NVME SSDにOSをフラッシュする方法は以下の通りです:
1) SD Card Copier ツールを使って Raspberry Pi OS の NVME SSD に OS をフラッシュする(推奨)。
この方法は、SDカードがあり、デバイスが正常に起動する場合に有効です。
メイン画面でApplications =>Accessories =>SD Card Copierをクリックし、SD Card Copierプログラムを実行し、下図のようにOSをNVME ssdにコピーします。
Startをクリックして実行します。その後、シャットダウンし、SDカードを抜き、デバイスを再起動します。
これは視覚的な操作であり、強くお勧めします!
2) Raspberry Pi ImagerでSSDをフラッシュする
Raspberry Pi ImagerツールをMACコンピュータまたはWindowsコンピュータで直接使用して、新鮮なPi OSをNVME SSDにフラッシュすることもできますが、USB - nvmeアダプタが追加で必要になります。
Pi Imagerをインストールして開く
USB-NVMeアダプタを使ってNVMe SSDをコンピュータに接続します。
インストールするOSを選択します。
フラッシュするドライブ(アダプターを介して接続されている)を選択します。
書き込みをクリックします。
OSのフラッシュが完了したら、nvme SSDを取り外さないでください。NVME SSDドライブのルートディレクトリにあるconfig.txtを変更して、pcieを有効にする必要があります(config.txtを編集し、ファイルの最後に「dtparam=pciex1」を追加してください)。
それからNVMeドライブを取り出してPi 5に取り付けると、(microSDカードの挿入の有無にかかわらず)ドライブから起動するはずです-ブートローダーを最新にし、BOOT_ORDERを適切に設定していれば!
注意してください:
新しいPi OSをNVME ssdにフラッシュする場合は、#PCIeを有効にする必要があります。古いPi OSをSDカードからNVME ssdにコピーまたはクローンする場合で、古いPi OSでpcieを有効にしている場合は、再度pcieを有効にする必要はありません!
NVMe をブート順序の初期に設定する
PCIe接続は再起動後に動作するはずですが、PiはまだNVMe SSDから起動しようとしません。そのためには、Raspberry Piのブートローダー設定のBOOT_ORDERを変更する必要があります:
以下のコマンドを実行して、Raspberry Pi 5のEEPROMを編集します。
sudo rpi-eeprom-config --edit
次に、BOOT_ORDER行を以下のように変更する:
BOOT_ORDER=0xf416
Ctrl-Oを押し、Enterを押してファイルに変更を書き込む。
Ctrl-X を押して nano(エディタ)を終了します。
詳細はRaspberry PiのBOOT_ORDERのドキュメントを読んでください。今のところ、重要なのは末尾の6です。これは、NVMeブートを最初に試みるようPiに指示するものです!
変更を有効にするには、Raspberry Pi 5を再起動してください。
よくあるご質問
Q1: NVME SSDが認識されない/起動しない?
A: pcieを有効にしてもNVME SSDからブートできない場合は、以下の操作を行ってください。
①以下の図に従って、X1001 または X1000 のバージョンを確認してください。
②旧バージョンの場合、eepromファームウェアのアップデート方法を参照して、
pieeprom-2023-10-30.binファイルでファームウェアをアップデートしてくだ
さい。
③新バージョンの場合、eepromファームウェアのアップデート方法を参照して、ファームウェアを最新バージョンにアップデートしてください。
④それでも問題が解決しない場合は、次のFAQ:Q2を参照してください。
Q2: NVMe SSDから起動/認識できません。
A: いくつかの問題を解決するための手順があります。
①まず、この投稿を読んでください;
②M.2 NVME Key-M SSD のみサポートし、M.2 NGFF Key-B SSD はサポートし
ません。以下の図を参照してください(クリックすると拡大します): サポート
される
③すべてのハードウェア接続が正しく接続され、結合されていることを確認してく
ださい。
④Raspberry Pi OS (Bookworm) のみ PCIe をサポートしています。Raspberry
Pi OS bullseye はサポートしていません。
https://www.raspberrypi.com/software/operating-systems/ を参照してくだ
さい。
⑤SDカードからブートすることもできますが、NVMe SSDをブートするにはPi
OSが必要です。
⑥新しいPi OSをフラッシュする場合は、PCIeを有効にすることを忘れないでくだ
さい。
⑦lspci または lsblk コマンドを実行して、NVMe SSD が認識されていることを確
認します。
⑧ファームウェアをアップデートしてください。
⑨SSD が古くて DOS パーティションがある場合は、DOS パーティションを削除
して SSD のパーティションを切り直します。
⑩support@geekworm.com までご連絡ください。
⑪お客様が解決した問題を参照:
https://geekworm.com/community/forum/topic/120764/geekworm-x1001-or-raspberry-pi-5
X1001 / X1000に戻る