LoginSignup
2
1

More than 3 years have passed since last update.

Raspberry Pi 4でUSBブートのubuntu serverを建てよう

Last updated at Posted at 2021-01-22

概要

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_STATUSFIRMWARE_RELEASE_STATUSの値をdefaultからlatestに書き直す。

sudo vi /etc/default/rpi-eeprom-update
FIRMWARE_RELEASE_STATUS="latest"

現在のversionと最新のversionの違いを確認する。

rpi-eeprom-update

スクリーンショット 2021-01-23 051022.png

最新版の方をダウンロードします。

sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/latest/pieeprom-2021-01-16.bin
sudo reboot

-dはパラーメータをデフォルト値にします。これにより、BOOT_ORDERのフィールドがデフォルト値の0xf41になりUSBからブートできるようになります。

スクリーンショット 2021-01-23 052223.png

再起動した後に、きちんと反映されているか確認します。

vcgencmd bootloader_version
vcgencmd bootloader_config

スクリーンショット 2021-01-23 052341.png

設定は以上です。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)でやり直しました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1