24. 通常の三倍の機動力を見せてやれ!w
この記事はFPVドローン ラップ計測システム【RotorHazard】をRaspberry Piで作成するにあたってのTipsをまとめたものです。ですが一般的なラズパイ構築方法としても参考になるかと思いますので、ぜひご活用ください。
24-1. USBブートモードに変更してSSDを使うん!
Raspberry Pi 3B+以降は最初からUSBブートができるようになっているのですが、ラズパイ3Bはできないのです。今回、ドローン仲間なYanazooさんよりRotorHazardの検証のためにラズパイ提供を受けて初めて知りました。なのでまずはここの封印を解くのでありますw
色々なラズパイ系の他記事を見てもUSB-SSDから起動させて使うと、ディスクIOのパフォーマンスは標準のmicroSDよりも相当違い、レスポンスよく使えるともありますしねー。またラズパイ3BとかはUSB2.0規格なので全然限界値は低いため、SSDだとしても旧規格のもので十分でしょうし。mSATAのものが利用できればもっと小さく収めることもできるでしょうし。
そんなこんなでポイントを書いていければと思います。
まず最初に下記コマンドを入力し、ラズパイ本体のUSBブート状態を確認します。
vcgencmd otp_dump | grep 17:
17:1020000a
ここで 17: の次の数値が 1 になっていると、USBブートができない状態となります。(Raspberry Pi 3B) この値を 3 に変更することでOKになります。
sudo vi /boot/config.txt
※一番最後に下の2行を追記してください。
program_usb_boot_mode=1
program_usb_boot_timeout=1
そしてそのまま再起動します。
sudo reboot (もしくは sudo shutdown -r now)
しばらくしてコンソールにログイン可能になったら、先ほどのコマンドを打って状態を確認します。
vcgencmd otp_dump | grep 17:
17:3020000a
17: の隣の数値が 3 に変更されたのが確認できました。
後はUSBメモリ、USB-SSDなどにディスクイメージをコピーして起動してみましょう。
※動作確認だけならば、microSDのUSB変換アダプタとかでもOKっす。
これ、面白いのはUSB変換アダプタを経由した方がディスクIOは速い?なんて話もあるのですが、ちょっとハード的には飛び出してしまったりしていて、何か事故起こしちゃいそうで怖いので…ワイはそのパターンはやらないかなーwww
24-2. SD Card Copierを使ってササっとコピー、動きを確認
もうこれは、何回かお話しているので割愛しちゃおうかとー。
こちらのリンクを見ていただき、USB-SSDにディスクイメージコピーをしてみてください。
また、USBブートはちゃんと電源を落としてから(コード外してから)、microSDは抜いてくださいねー。(ラズパイでやらかした訳ではないのですが、近年に買ったばかりの64GBのmicroSDを壊しちゃったトラウマがありましてw
24-3. USB-SSDで起動する際のお作法
多分これで、4つのUSBポートにSSDを挿して起動しても大丈夫ではないかと思います。でも1つだけ正常に起動した後、修正を入れておきたい箇所がありますので書き残しておきます。
sudo vi /boot/config.txt
dtparam=act_led_trigger=heartbeat # heartbeat for green
#dtparam=act_led_trigger=timer # slow blink for green
#dtparam=pwr_led_trigger=mmc0 # microSD for red
dtparam=pwr_led_trigger=mmc1 # SSD for red
はい。3行目は # を先頭に入れてコメント行に変更。逆に4行目をコメントアウトして正式パラメータに。これを実施して再起動してくださいませ。
こうすることで、ストレージのアクセスランプ(赤)にすることができます。USB-SSDの変換ケーブル側にアクセス用LEDが搭載されているものもあるのですが、本体で見えた方が良い方もいらっしゃるかと思いますので、ここはこんな感じで合わせておいていただければー。
ラズパイ構築編のつづきはこちら