「これを試してみて」と注文を頂いたのでやってみることにしました。 ものすごい丁寧に書かれているので、そのままやったら動くんじゃないかと思ったんです。
ところが、「arm-image-installer」で書き込んだイメージでブートしようとすると、起動したり起動しなかったりするのですよね。 ということで、とりあえず公式の「Raspberry Pi Imager」を使って Raspberry Pi OSをUSBブートしてみようと思いました。
以下のようなサイトの他、いろいろな記事を参考にしました。
USBブートについては随分前に一度試したことがあって、特定のバージョン以上のファームウェアに更新して公式のガイドに従って設定するだけで簡単に試すことができるというのは確認していました。
ところが、最初だけ起動するが、再起動をかけるとUSBブートできなくなるという現象が発生しました。 Raspberry Pi OSでもほかのOSでも症状は同じです。 Raspbian GNU/Linux 11でもRaspbian GNU/Linux 10でも同じく、最初の起動(パーティションを拡大したよというメッセージが出るあれ)はちゃんと起動するんだけど、その後ブートしない状況は変わらずという状況でした。
色々なOSを書き込んで試していくにつれて、とうとう全くOSが起動しなくなりました。いよいよやばいです。
最初はマウスにキーボード、USBメモリーにモニターとRaspberry Pi 4に接続しすぎて電力不足じゃないかと思って、MacBook Pro 16インチに付属するUSB-Cのアダプターで電力をとってみたり、ケーブルを変えたり、ファームウェアのバージョンを変えてみたり色々試してみましたが、いずれも問題は解消されませんでした。
Raspberry Pi 4は家に2台あるのでそれぞれで確認しましたが、ブートできない症状はどちらでもさいげんしました。一方、microSDでは確実にブートします。というわけで原因は本体ではなさそうです。
ここまで書き込んでいて今更ですが、USBブート機能はUSB接続のHDDやSSDをブート用として使うためにサポートされたもので、USBメモリーをブートボリュームとして使うのはRaspberry Piオフィシャルでは推奨されていません(と以前は公式ドキュメントに書いてあった気がするのですが、見つけられない...)。
問題の原因が判明
色々やった結果、使用したUSBメモリーが原因でした。
別のメーカーのUSBメモリーにイメージ書き出ししたところ、問題なくブートしました。何度再起動してもブートは問題なしです。 試しに同メーカーの同一製品のUSBメモリーを用意してそれでUSBブートしてみましたが、それも問題ありませんでした。
というわけで、なんかおかしいときは他のやつを試しましょう...という話でした。
ちなみに、問題があるUSBメモリーですが、フォーマットしてmacOSでデータの書き込み、読み込みをしてみたものの、いずれも正常に使えています。 ただ、このメモリーに書いてある日読み出せなくなったりしたら嫌なので、捨てようと思います。
ちなみに、手元では以下の環境で正常動作を確認しました。
ytooyama@raspberrypi:~ $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 11 (bullseye) Release: 11 Codename: bullseye ytooyama@raspberrypi:~ $ sudo rpi-eeprom-update BOOTLOADER: up to date CURRENT: Tue 2 Aug 15:55:05 UTC 2022 (1659455705) LATEST: Tue 2 Aug 15:55:05 UTC 2022 (1659455705) RELEASE: stable (/lib/firmware/raspberrypi/bootloader/stable) Use raspi-config to change the release. VL805_FW: Using bootloader EEPROM VL805: up to date CURRENT: 000138a1 LATEST: 000138a1