Raspberry Pi 5をNVMe SSDで起動する

今回、以前から使っていたRaspberry Pi 5をUSB SSD起動からPCIe経由でSSDを接続して起動するようにしてみました。
メリットはUSBコネクタの口が１つ空くのとラズパイ本体の底に接続できるのですっきりするところでしょうか。
デメリットは、普通のケースでは収まらなくなることですね。

今回は、新しいSSDにOSを新規インストールしていきます。

## 今回購入したもの


トランセンド TS500GMTE110Q-E

https://www.amazon.co.jp/gp/product/B0BZJ54RZZ/?th=1

![1680_n.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/6fbdeb18-5877-e5b8-c254-5054dce2da6f.jpeg)


玄人志向 SSD用ポータブルケース GWM.2NVST-U3G2CCA

https://www.yodobashi.com/product/100000001006362883/

![3331_n.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/05c2a3dc-13ea-6ab0-e8ad-edfe10d7fcd0.jpeg)

スイッチサイエンス Raspberry Pi 5用NVMe SSD拡張ボード

https://www.switch-science.com/products/9786

![1208_n.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/aa347e7f-619e-63d2-7cce-6b46b875d48c.jpeg)


## 前準備

いままで使っていた状態で起動してソフトウェアをアップデートしていきます。

公式のアップデート手順

https://www.raspberrypi.com/documentation/accessories/m2-hat-plus.html#m2-hat-plus-installation

まずは、apt updateを実行します。
（ここはログが多かったのでログは省略）
途中で **Do you want to continue? [Y/n]** と聞かれたら ***y*** を入力します。

```:ソフトウェアパッケージのアップデート
$ sudo apt update && sudo apt full-upgrade
```
ファームウェアをupdate

```:現在のファームウェアの確認
$ sudo rpi-eeprom-update
*** UPDATE AVAILABLE ***
BOOTLOADER: update available
   CURRENT: Fri 17 May 11:29:43 UTC 2024 (1715945383)
    LATEST: Mon 23 Sep 13:02:56 UTC 2024 (1727096576)
   RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default)
            Use raspi-config to change the release.
```

公式によると特に問題なさそうですが、なんとなく最新にしようと思います。w

```:ファームウェアのアップデート
nomura@raspberrypi5:~$ sudo rpi-eeprom-update -a
*** PREPARING EEPROM UPDATES ***

BOOTLOADER: update available
   CURRENT: Fri 17 May 11:29:43 UTC 2024 (1715945383)
    LATEST: Mon 23 Sep 13:02:56 UTC 2024 (1727096576)
   RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default)
            Use raspi-config to change the release.
   CURRENT: Fri 17 May 11:29:43 UTC 2024 (1715945383)
    UPDATE: Mon 23 Sep 13:02:56 UTC 2024 (1727096576)
    BOOTFS: /boot/firmware
'/tmp/tmp.d9DRz8sR62' -> '/boot/firmware/pieeprom.upd'

UPDATING bootloader. This could take up to a minute. Please wait

*** Do not disconnect the power until the update is complete ***

If a problem occurs then the Raspberry Pi Imager may be used to create
a bootloader rescue SD card image which restores the default bootloader image.

flashrom -p linux_spi:dev=/dev/spidev10.0,spispeed=16000 -w /boot/firmware/pieeprom.upd
UPDATE SUCCESSFUL
```
再起動して、バージョンを確認します。

```:再起動
$ sudo reboot
```

```:ファームウェアのバージョン確認
$ sudo rpi-eeprom-update
BOOTLOADER: up to date
   CURRENT: Mon 23 Sep 13:02:56 UTC 2024 (1727096576)
    LATEST: Mon 23 Sep 13:02:56 UTC 2024 (1727096576)
   RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default)
            Use raspi-config to change the release.
```

最新になったので、ブート順を変更していきます。

※手順通りにこれを実施したけどSSDで起動してから実施すれば良いような気がする。

```:
$ sudo raspi-config
```

Advanved Optionsを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/d605512e-16e6-969a-89d2-561760d3c34b.png)

Boot Orderを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/0779ffa4-7cce-e9ae-b4b8-411183a8347a.png)

NVMe/USB Bootを選択します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/a29cc5a1-99d1-547b-932f-cddd5beef650.png)

OKを押します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/c3159aad-085b-2ec9-cff9-f5a5b6723970.png)

最初の画面に戻るのでFinishを選択して終わります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/383ba4fe-dec1-fb9f-6e68-e0219680fcfc.png)

rebootするか聞かれるので、Yesを選択します。
（ちなみに今回はUSB bootしていた状態です。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/6aa75799-dfe2-9929-5dff-b611b96ae60a.png)

## OSの準備

起動に使うSSDへOSをインストールします。

Raspberry Pi Imagerを起動します。

Raspberry Piデバイス、OS、ストレージを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/ac2e5b12-cbc7-fc98-d990-6924a8671060.png)

設定を編集するか聞いてくるので編集します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/b0183ad1-fe9b-39d2-905d-14e721664faf.png)

一般は、ホスト名やユーザー名、Wi-Fiの設定などをします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/f1b828c8-42ca-80a7-4f6c-506601d340d9.png)

サービスは、SSHを有効にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/917e6d9e-8620-23c6-831b-894894235b0a.png)

オプションは、デフォルトのまま。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/080293cc-5326-6685-9a55-4628facbd82f.png)

設定が終わったら保存ボタンを押します。
元のダイアログに戻るので **はい** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/01a809f6-3a68-6cdb-26c9-4d6e3df9dc4b.png)

ディスクの中身が消えるよってでるので **はい** を押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/a10b69a3-bf2a-674e-807d-f402339e9335.png)

書き込みがはじまります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/f7ba2abc-9ee6-35f6-0573-151739c1aaba.png)

「書き込みが正常に終了しました」というダイアログがでたら完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/9a9ac7ae-1b47-d17c-47df-3670b44b28a5.png)


## 組み立て・接続

ここを参考に組み立てていきます。

https://144lab.kibe.la/shared/entries/afaae036-2aa4-44cb-87e3-0c19018e4a08

### 注意
注意するのはフレキに向きがって **to RPi5** と書いてある方をラズパイ側につなげないとボードを認識しません。
自分は、これに気がつかなくて焦りました。

**これはNG!!!**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/157a5a64-6afd-1aee-1490-492130e88436.png)

**こちらが正しい**
ラズパイ本体の方に **to RPi5** が接続されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/01c2f064-cf61-e174-747f-b13463d0a4bb.png)

## PCIeのスピード設定

PCIe Gen 3を有効にすると倍くらい早くなるということだったので設定しておきました。

```:PCIeのスピード設定
$ sudo raspi-config
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/955f177c-dc1b-e36f-1f74-009fe83ae11a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/37aad4a4-d6d7-a065-4fbc-51dd6fe5c1ed.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/28184/9f6e588f-3995-9966-1559-d238e3864af0.png)

以上