見出し画像

Raspberry PI 4B のUSB boot の注意事項

Raspberry PI 4B の USB boot がやっと正式対応したようです。最新の状態に sudo apt full-upgrade すると、USB boot に対応した BIOS に EEP-ROM を書き換えてくれます。非正式対応の状態では面倒なことになりそうなので、正式対応を待っていたのですが、正式版でも面倒なのことになってしまいましたので、NOTE に記録しておきます。

Raspberry PI 4B の USB boot がやっと正式対応したようです。Raspberry PI 4B の USB boot の情報は、既に多く書かれてあるので、詳しくは、それらの記事に譲ります。簡単に説明すると、Raspberry PI OS を最新の状態に full-upgrade すると、USB boot に対応した BIOS に更新されるので、そこから buster のメニューに用意されている SD Card Copier を利用して USB Device(HDD, SDD and etc) にシステムをコピーし、SD を抜いて USB から起動するだけのようです。

しかしながら、私の環境でも、他の人達の報告でも、この方法だけでは起動しないことも多々あるようです。


USB - SSD Adapter の選択


恐らくほとんどの方は、SSD からの boot を目論んでいると思われますが、SSD を USB に接続する際の Adapter を注意深く選択する必要がありそうです。

https://qiita.com/kark1223/items/34b597b45326d80a4780

私の使用している Adapter は、MARSHAL MAL-3825SBKU3 というもので、安価で USB3.0 に対応している為、別の用途のために購入しましたが、Raspberry PI 4B に接続するには、向いていなかったようです。詳しい仕様は公開されていませんが、Net の情報によると、Innostor IS888 というチップを使用した SATA2 のものです。

https://review.kakaku.com/review/K0000446348/ReviewCD=775132/

上記ウェブサイトでも報告されている通り、通常の方法で USB boot が上手く行かなかった場合は、UAS(USB Attached SCSI) を使用しない設定にする必要があります。


cmdline.txt の変更


Raspberry PI 財団の情報は、以下の通りです。

https://www.raspberrypi.org/forums/viewtopic.php?t=286835

rpi-imager 等で OS Image から作成した SSD の boot partition を mount し、直下にある cmdline.txt ファイルの最初の行に以下の設定を付け加えます。

usb-storage.quirks=ab12:34cd:u 

これは、ab12:34cd (Innostor IS888 の Vendor ID / Product ID) には、UAS(USB Attached SCSI)を利用せずに、usb-storage で接続することを明示するものです。詳しくは、上記ウェブサイトに丁寧に説明されていますが、USB 機器の Vendor ID と Product ID は、lsusb コマンドで調べます。cmdline.txt には、一行しかなく、この行に上記設定を加えることにご注意下さい。

最初、このふざけたID (ab12:34cd) は、何だろう。dummy かな? と思いましたが、Innostor IS888 の正式な ID のようです。

以上



参照資料:

https://raspida.com/rpi4-ssd-usb-boot

https://qiita.com/nowlinuxing/items/3c7f61bca6e5ef0d1c47

https://ejje.weblio.jp/content/quirks


この記事が気に入ったらサポートをしてみませんか?