OTPを書き換えてUSB起動にする(Raspberry Pi 3Bまで) - Naohiro2g/Raspberry-Pi-Projects GitHub Wiki

Raspberry Pi 3B+では、出荷時からこの状態。

USB起動が無効になっていることを確認する

vcgencmd otp_dump | grep 17:
17:1020000a  ← 無効(最上位桁が1)

config.txtを編集して再起動する

sudo nano /boot/config.txt

最終行に2行書き込む。

# Enable USB Boot
program_usb_boot_mode=1

再起動で、OTP: One Time Programmableメモリーが書き換わる。

USB起動が有効になったことを確認する

$ vcgencmd otp_dump | grep 17:
17:3020000a  ← 有効(最上位桁が3)

config.txtを再び編集、設定行をコメントアウトしておく。

# Enable USB Boot
#program_usb_boot_mode=1

program_usb_boot_timeout=1 を書くと、タイムアウトが2秒から5秒に延長される。HDDだとスピンアップ時間が必要だが、SSDの場合は不要。

逆に、10秒くらいあるSDカードスロットのタイムアウト待ちを短くする方法。 カーネルのバージョンが一致しているSDカードをスロットに入れておくと良いらしい。 https://dbpro.xyz/6177

カーネル更新時が面倒。。 SSD無しで起動、カーネルのアップデート(というか、apt update/dist-upgradeかな?)