ラズパイ3BのUSB起動設定

 ラズパイ3BのUSB起動を有効とするには、Raspberry Pi SoCのOTP(One-Time Programmable)メモリにビットを設定するそうである。
OTPは一度だけ書き込み可能なメモリなので、加えた変更は永続的で元に戻すことは出来ないようである。
 OTP memoryとは、一度だけ書き込み可能なメモリで、メモリ内のヒューズを焼き切ってデータを書き換えるようなメモリのことだそうである。
 このメモリに書き込むことにより、新しいブートモードが有効になるらしい。

 これは/boot/config.txtの最後に「program_usb_boot_mode=1」を書き込んで起動することで実現できるようである。
まず現在のOTPメモリを確認する。

$ vcgencmd otp_dump | grep 17:
17:1020000a

/boot/config.txt の最後に「program_usb_boot_mode=1」の行を追加する。
そのうえで再起動

$ sudo reboot

再起動で/boot/config.txtの内容が反映され、
pi@raspberrypi:~ $ vcgencmd otp_dump | grep 17:
17:3020000a

17:1020000aが17:3020000aとなりOTPビットは正常にプログラムされた。

これで/boot/config.txtの最後の行の役目は終わったので削除する。

再度シャットダウンし電源を切った状態でSDメモリー抜くとともにシステムをインストールしたUSBメモリーを挿してから電源を投入す。

無事USBメモリーから起動できたら目出たし目出たしである。