Pandora Pocket

IT系と日常系の備忘録。三日坊主。

追記

現行のRaspberry Pi OS ではファームウェアを更新さえしていれば下記の対応は不要。また、Ubuntu 20.10も同様。残念ながら20.04LTSは非対応。

RaspberryPi 4はブートの処理がこれまでのものと変わったためにUSBブートができなかったのですが、6月15日に正式公開されたブートローダーでついに対応しました。

が、6/24時点では単純にブートローダーを更新しただけではうまくいかなかったので備忘録。

ブートローダー更新

まずはブートローダーの更新から。

sudo apt update && sudo apt full-upgrade

でまずブートローダーの最新のファイルを取得します。

rpi-eeprom-update ファイルを開いてステータスを critical から stable に。

コマンド: sudo nano /etc/default/rpi-eeprom-update

FIRMWARE_RELEASE_STATUS="critical"FIRMWARE_RELEASE_STATUS="stable"

変更したら rpi-eeprom-update コマンドでブートローダーを更新。

コマンド: sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/stable/pieeprom-2020-06-15.bin

これでブートローダーがUSBブート対応版になりました。

USBメモリーにOS書き込み

おそらく今SDカードで動いているものをddコマンドなりでUSBメモリーに書き込めば正常に起動すると思いますが、今回は新規にRaspberryPi OS(Raspbianからリブランドしたようで)をUSBメモリーに書き込みます。

USBメモリーに書き込んだらRaspberryPi 4に差し込んで起動してみると、

start4.elf is not compatible

こんなエラーメッセージで起動しないと思います。(6/25時点で提供されているものの場合)

どうやら現時点で提供されているRaspberryPi OSのboot領域にある必要なファイルがまだUSBブートに対応していないのが理由のようです。

なので最新のファイルを取得して書き換える必要があります。

下記のGitHubからdat形式ファイルとelf形式ファイルをダウンロード。

This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware. - firmware/boot at master · raspberrypi/firmware
[はてなブックマークで表示]

ダウンロードしたファイルをすべてUSBメモリーのbootパーティション領域に上書き保存。

これでUSBブートが行われるようになるはず。

おそらく今後はOSイメージ内のファイルがUSBブート対応版になると思うのでこの方法は一過性のものとなるとは思いますが。

参考サイト

Hi guys, I am trying to boot home assistant in Raspberry PI 4 from a SSD. I installed raspbian in the SD, I followed the steps in these posts - post 2 and got the same result after executing the vcgencmd bootloader_vertion and bootloader_config. The diference is that I am not using the same rabian in the SSD, I installed the Home Assitant img in it but when I remove the ssd and power up the rasberrypi only with the ssd, it doesn’t boot and gets an error. Part of the error: bootloader: 23a9f59...
[はてなブックマークで表示]