Raspberry Pi 5Bを入手した事もあり、USB-SSDからのOS起動を試みました。

機器構成
Raspberry Pi 5B(4G)
SSD(USB接続) SSD-PST250U3BA/N 250GB Buffalo

ソフトウェア
OS: Raspberry Pi OS Lite(64bit) & Ubuntu Server 23.10(64bit)

【1】USB-SSDからのOS起動…Raspberry Pi OS Lite(64bit)の場合

1.Raspberry Piの準備

・microSD Card(32GB)に、Raspberry Pi OS Lite(64bit)を書き込む。 Raspberry Pi Imager使用
予備設定:ホスト名、ユーザー名、パスワード、Wifi(ID,PW)、ロケール、キーボード、PW認証でのSSH接続
・Raspberry PiにmicroSD Cardをセットし、電源を投入する。
・IPアドレスの固定
最新のRaspberry Pi OSでは、dhcpcd.confでなく、ルーターのDHCP固定機能またはNetworkManagerによる方法を推奨している。
NetworkManagerでのIPアドレス固定…詳細別紙1
・OSの更新 sudo apt update
sudo apt upgrade -y
・ブートローダーの更新 sudo raspi-configを実行
Adovanced Options -> Bootloader Version -> Latest
・ブート順の設定 sudo raspi-configを実行
Advanced Options -> Boot Order -> USB BootのB2選択
・Raspberry Piの再起動

2.USB-SSDの準備

・SSDの状態の確認
Raspberry PiにUSB-SDDを接続し、状態を確認する。 sudo fdisk -l
SSDが新しい場合、下記のように確認されることが多い。
①パーティションが作成されており、フォーマットが出来ている場合。
・Disk /dev/sda 〇〇GB
・その詳細として、
/dev/sda1  ……… FAT32(LBA)
/dev/sda2 ………   Linux
など
②他で使用していたSSDでは、パーティションの作成、フォーマットが必要となる。……詳細省略
・Raspberry Piに接続した場合、自動マウントされる可能性がある。デバイス名を調査し(df -h コマンド等で)、念のため必要な部分をext4フォーマットする。
$ sudo umount デバイス名(/dev/sda2など)
$ sudo mkfs.ext4 デバイス名

*私の場合、新品のSSDで、パーティション作成・フォーマットは実行済であった。

・自動起動させるOSの書き込み
USB-SDDを一度Raspberry Piから取り外し、PC内のRaspberry Pi Imagerを使用し、Raspberry PiのCardと同じOSを書き込んだ。…Raspberry Pi OS Lite(64bit)
予備設定は、Card書き込みと同じ。

3.USB-SSDからのOS起動

microSD Cardを取り外し、USB-SSDを接続して電源を入れる。
OSは起動しなかった。

4.起動不良原因の究明と対処

4-1 各種対処
・USB-SDDのフォーマットし直し(ext4)後、OS再インストール
・インストールOSを変更…Ubuntu Server 23.10(64bit)

4-2 原因は下記の通り。

・Rasberry Pi 5の場合、USBからの電流供給を制限する機能がある。
電源電圧DC5V-3Aの電源アダプターを使用した場合、USB起動ができない。
USB-SSD内のOS内の下記ファイルに追記が必要となる。
/boot/firmware/config.txt に
usb_max_current_enable=1 を追記する

参考記事:https://rptl.io/rpi5-power-supply-info for more infomation

4-3 USB-SSDからのOS起動

前項の内容を実行後、電源を入れると、SSD内のOSが起動する。

 

【2】USB-SSDからのOS起動…Ubuntu Server 23.10(64bit)の場合

1.Raspberry Piの準備
・microSD Card(32GB)に、Raspberry Pi OS Lite(64bit)を書き込む。 Raspberry Pi Imager使用
予備設定:ホスト名、ユーザー名、パスワード、Wifi(ID,PW)、ロケール、キーボード、PW認証でのSSH接続
・Raspberry PiにmicroSD Cardをセットし、電源を投入する。
・動作確認後、電源断。

2.USB-SSDの準備
・自動起動させるOSの書き込み
PC内のRaspberry Pi Imagerを使用し、Ubuntu Server 23.10(64bit)OSを書き込んだ。
予備設定:ホスト名、ユーザー名、パスワード、Wifi(ID,PW)、ロケール、キーボード、PW認証でのSSH接続
・USB-SSD内のOS内の下記ファイルに追記
/boot/firmware/config.txt に追記
usb_max_current_enable=1

3.Raspberry Piの再起動
・USB-SSDをRaspberry Pi にセットし、microSD Cardを外して、電源を入れる。
・IPアドレスの固定
NetworkManagerでのIPアドレス固定…詳細別紙2
・OSの更新 sudo apt update
sudo apt upgrade -y