Raspberry Pi 4でUSB起動をする方法

猫のふーちゃんはテレビを見ながら指ペロ中。

タンタンはRaspberryPi4(以降、RasPi4)でUSB起動をさせたくて困っているみたいですよ。

前回のお話


タンタン
タンタン

にいちゃん、RasPi4で早くUSB起動したいねんけど

ふーちゃん
ふーちゃん

いま、テレビ見ながら指ペロで忙しいんです

タンタン
タンタン

RasPi3では動作したけど、RasPi 4で使いたいねん

ふーちゃん
ふーちゃん

ごにょごにょしたら動くようになるよ

ふーちゃん。意地悪せんと、ちゃんと教えてあげてよ


という訳で、前回の続きです。前回はRasPi4でブータブルUSBを挿しても起動しないという内容でした。今回は、RasPi4でもブータブルUSBが起動するようにしてみましょう。(RasPi3では本手順は必要ありません。)

まずはSDカードでRasPi4を普通に起動してください。その後、vcgencmdで現在のブートローダーを確認します。ブートローダーとはOSを起動させる前座のようなものです。

$ vcgencmd bootloader_version
Apr 16 2020 18:11:26
version xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (release)
timestamp 1587057086

Apr 16 2020 18:11:26 版のようです。USBブートに対応したβ版ブートローダーがリリースされているとの事なので、それを入れてみます。

$ sudo apt update
$ sudo apt full-upgrade
$ sudo sed -i /etc/default/rpi-eeprom-update -e "s/critical/beta/"

β版が格納されている事を確認します。

$ ls /lib/firmware/raspberrypi/bootloader/beta/ -la
4月 17 19:50 pieeprom-2020-04-16.bin
5月 18 23:12 pieeprom-2020-05-15.bin
5月 28 21:33 pieeprom-2020-05-26.bin
5月 28 21:33 pieeprom-2020-05-27.bin
6月  4 08:40 pieeprom-2020-05-28.bin
6月  4 08:40 pieeprom-2020-06-03.bin
6月 16 18:59 pieeprom-2020-06-12.bin
6月 16 18:59 pieeprom-2020-06-15.bin
6月 16 18:59 recovery.bin
1月 22 23:28 vl805-000137ad.bin

ここでは、pieeprom-2020-06-15.bin を利用する事にします。

$ sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-06-15.bin
BCM2711 detected
Dedicated VL805 EEPROM detected
BOOTFS /boot
*** INSTALLING /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-06-15.bin  ***
BOOTFS /boot
EEPROM update pending. Please reboot to apply the update.

ここで、一旦OS再起動を行い、ブートローダが変更されたかどうか確認します。

$ vcgencmd bootloader_version
Jun 15 2020 14:36:19
version xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (release)
timestamp 1592228179

はい。無事に変更されました。OSをシャットダウンし、SDカードを抜き、USBを挿して起動させてみましょう。

はい。無事にUSBから起動しました。(画面で見ると分からないのですが…)

USBメモリにすると、USBアクセス時にメモリのLEDがチカチカするのが見やすくなりました。SDカードだとケースによっては見えないですからね。

今回試したUSBは東芝さんの物です。USBメモリも安くなりましたね。あまり大きい容量だとバックアップを取る時にファイルの置き場所に困るので、16GBくらいが扱いやすくていいですね。2、3本持っておくといろいろと実験できそうです。