概要
Raspberry Pi 4でだいたいのことはできる世の中になりそうなので、USBブートでubuntu serverを建てれるようにしましょう!初めは、ubuntu serverをmicro SDでブートして起動していましたが、最大でも30~50MBpsの書き込み速度なので少々物足りなさを感じてしまいます。そこで、最大書き込み400MBpsの有能なUSBをマスストレージとしてブートできるようにしたいと考えました。
Micro SDからubuntu serverを起動する手順
- OSイメージをデバイスに書き込む専用のimagerをdownload
- micro SDに
ubuntu server 20.10(RPI 3/4/400)
のOSイメージを書き込む - 起動
簡単!!!
USBからubuntu serverを起動する手順
- OSイメージをデバイスに書き込む専用のimagerをdownload
- micro SDに
Raspberry Pi OS (32-bit) Lite
のOSイメージを書き込む - USBに
ubuntu server
のOSイメージを書き込む - micro SDからRaspberry Pi OSを起動
- 設定をいじってUSBからブートするようにする
- USBから起動
一旦、Micro SDにRaspberry Pi OSを入れて、USBからubuntu server 20.10(RPI 3/4/400)
をブートするように設定を行うところが肝です(詰まった箇所です)。
ubuntu server 20.04
だと起動ファイルが見つからないというエラーがでますが、20.10だとうまくいきます。
用意するもの
Raspberry Pi 4 model B
micro SD (Raspberry Pi OS (32-bit) Lite
のイメージ書き込み用)
USB (ubuntu serverブート用/storageとして使用) おすすめ(Read 420MB/s Write 400MB/s)
イメージの書き込み
imagerをdownload
micro SDにRaspberry Pi OS (32-bit) Lite
のimageを作る。
USBにubuntu server 20.10
のimageを作る。
Raspberry Pi OSで起動し設定
micro SDを指した状態で起動し、USBからブートするように設定を行います。
初期のユーザーは、pi
、パスワードはraspberry
です。
下記のコマンドを実行後、他のPCからsshして作業するのも良いです。
sudo systemctl enable ssh
sudo systemctl start ssh
まずは、大前提として有線がつながっていることを確認し下記のコマンドを実行します。
sudo apt update
sudo apt full-upgrade -y
eepromの設定を最新版にする
vcgencmd bootloader_version
FIRMWARE_RELEASE_STATUS
のFIRMWARE_RELEASE_STATUS
の値をdefault
からlatest
に書き直す。
sudo vi /etc/default/rpi-eeprom-update
FIRMWARE_RELEASE_STATUS="latest"
現在のversionと最新のversionの違いを確認する。
rpi-eeprom-update
最新版の方をダウンロードします。
sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/latest/pieeprom-2021-01-16.bin
sudo reboot
-d
はパラーメータをデフォルト値にします。これにより、BOOT_ORDER
のフィールドがデフォルト値の0xf41
になりUSBからブートできるようになります。
再起動した後に、きちんと反映されているか確認します。
vcgencmd bootloader_version
vcgencmd bootloader_config
設定は以上です。Micro SDを抜いてUSBからブートできるようになりました。
usbから起動
無事起動しました。
初期のユーザーとパスワードはubuntu
です。
おまけ
一度設定したMicro SDから他のraspberry piの設定を行った場合もeepromの設定は引き継がれていたので、一度Micro SDでraspberry piを起動した後は、USBでもブートできました。
参考
Raspberry Pi 4 Model B で USB ブート(1)
https://www.yukkuriikouze.com/2020/10/24/3945/
https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md
https://www.raspberrypi.org/documentation/remote-access/ssh/
追記
usbに焼くイメージをubuntu server 20.04.1 lts (RPI 3/4)
にした場合、なぜか認識してくれなかったので、ubuntu server 20.10(RPI 3/4/400)
でやり直しました。