結論
「そのままではブートできない」ことを確認する方法
当該 USBデバイス が接続されている状態で $ lsusb -t
を実行する。結果に Driver=uas
がある場合には、前述の記事に従って設定の変更が必要になる。
pi@raspberrypi:~ $ lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M |__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
自分の場合の例
以下の 2つ のデバイス(ケース)を所有していますが、どちらも Driver=uas
でした。
Bus 002 Device 003: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS578 SATA 6Gb/s Bus 002 Device 002: ID 0789:0301 Logitec Corp. LHR(LGB) USB Device
補足
USBブート環境の構築自体は以下の手順で OK でした。設定ファイルやカーネルコピーなどの解説をしているページもありますが、現状ではそれらは不要になっています(便利)。
- MicroSD に Raspberry Pi OS を入れて 起動し、
$ sudo rpi-eeprom-update
で EEPROM をアップグレードする - Raspberry Pi Imager を用いて USBデバイス に OS をインストールする
- MicroSD でブートする場合と同じ
- 任意の OS で OK
- MicroSD を外し USBデバイス を接続して Raspberry Pi を起動すると USBデバイス からブートされる
感想
- USBブートの手順は間違っていないのに一向に起動できなくて 8時間 溶かした
- この内容は属人化する方法の典型例といっていいので困ったもの
- 「USBケース が原因である」ということを可能性として疑うことを全くしていなかったので、「UAS」という単語にたどり着くまでに 7時間 近くかかった