Raspberry PiをSSDブートさせる

  • 2020.12.12
  • IoT
Raspberry PiをSSDブートさせる

ファームウェアアップデートにより、Raspberry Pi 4でUSBブートができるようになっています.
これによりSSDやHDDからの起動が容易に実現できるようになりました.(僕はまだRaspberry Pi OSでしか確認できていません.)

今回に限らず利用することも多いと思うので短いとは思いますがここに手順をまとめておきます.

環境

・Raspberry pi 4
・最新のRaspberry Pi OSを入れたSDカード
・SSD↓

OS起動/最新にする

まずはラズパイにSDカードを挿し、起動させます.
起動したら最新にします.

ブートローダーの更新

「vcgencmd bootloader_version」コマンドでもしも8月以前のバージョンだったらUSBブート機能がないので最新に最新にする必要があります.
「$ raspi-config」で設定を開き、以下のように「Advanced Options」を選択します.

最新のブートローダーに変更1

「Boot loader Version」を選択.

最新のブートローダーに変更2

「E1 Latest Use the latest version boot ROM software」を選択します.
これで最新のブートROMになります.

最新のブートローダーに変更3

確認が出てくるので「はい」.

最新のブートローダーに変更4

SD内のOSをSSDにコピーします.(SSDをUSB経由でラズパイに接続しましょう)
ラズパイのメニュー>アクセサリに「SD Card Copier」を使います.

以下はツールの起動画面です.

SD Card Copier1

「Copy From Device」にSDカード(ここでは/dev/mmcblk0)
「Copy To Device」にはSSD(/dev/sda/)を選択し、「Start」で開始します.

しばらく待って「Copy complete」が表示されたら完了です.

SD Card Copier3complete

ブート先を変更

USBブートから起動するように変更していきます.
再度「raspi-config」コマンドで設定画面を開いてください.
そこから「Advanced Options」を選択します.

USBブート1

「Boot Order」を選択します.

USBブート2

「B1 USB Boot」を選択します.

USBブート3

この後一旦シャットダウンし、SDカードも抜いた後起動させるとSSDからOSが立ち上がります.(その際SDカードは抜きます)
また、SDカードを挿したままの場合はSDカードを優先して読み込み、OSを起動させるようです.

終わりに

簡単にまとめましたが、上記手順でSSDからブートさせることができちゃいました.
今回購入したSSDも120GBで3000円くらいと、中々手頃な物もあるので気軽にできるんじゃないかなぁとは思います.(僕の感覚がおかしくなければ)

また、まだ試せてはいませんが上記SDからのコピーを省く代わりに、SSD側にあらかじめUbuntu(現在だと20.10?)を書き込んでおけば同様に別のOSでもできるんじゃないかと考えています.
こちらは余裕があったら試してみます.