Raspberry Pi 3 B をUSBbootに切り替える

開発・構築

SDカードからの起動でもいいのですが、どうしても耐久性・高速性の観点から問答無用でbootをUSBドライブに切り替えていきます。

Raspberry Pi 3 Model B以外は不要な作業です!

まず、Raspberry Piはいろいろな種類が存在しています。
今回取り扱うのはzeroなどのコンパクトモデルではなく、標準モデルのRaspberry Piを対象としています。
また、”Raspberry Pi 3 Model B+“以降についてはUSBbootに標準対応しているので、なにかする必要もなくSSDやHDDやUSBメモリーにイメージを書き込んでおけば、SDカードを挿していない状態でUSB接続しておけば起動してくれます。
今回使用しているのは”Raspberry Pi 3 Model B“で、標準対応されていないモデルでUSBbootにさせる方法をまとめておきます。

Raspberry Pi 3 Model Bよりも前のモデルはそもそもUSBbootができないので諦めてください・・・SDカードをブートローダーとして起動する方法もあるのでそちらならできるかもしれません。

準備

お決まりではありますが、今回行うOTPメモリの書き換えを行います。
1度行うと後戻りできず、なにか起きた場合でも責任は取れませんので自己責任にて実施してください。

OTPメモリの書き換えを行うに当たり、先に一度SDカードで起動させる必要があります。
下準備として、SDカード(書き換え用)とUSBメモリ(起動メディア用)でそれぞれインストールメディアを作成しておきます。
※高速性などを考えてSSDや大容量HDDを使用されるといいと思います。
 私は後で別の外付けドライブをマウントする予定なので私はUSBメモリを使用します。

念のため?お約束?とにかく起動したら一番最初に無意識にやってしまうおまじない(ハイライト部分)にすることを一通り終わらせておきます。

fm328@raspberrypi:~ $ sudo apt update
fm328@raspberrypi:~ $ sudo apt upgrade

一先ずパッケージを更新して置きます。

bootを切り替える

Raspberry PiにmicroSDカードで起動させます。
※この際はUSBには何も接続せず、microSDカードのみ挿している状態です。
次にTerminalからログインして、以下のコマンド(ハイライト部分)を実行してUSBブートの状態を確認していきます。

fm328@raspberrypi:~ $ vcgencmd otp_dump | grep 17:
17:1020000a

コマンドを実施した結果「17:1020000a」と言う結果が表示されました。
この結果は”USBboot:無効”と言うことを意味しています。
このUSBbootを無効→有効に切り替えるために以下のコマンドを実施します。

fm328@raspberrypi:~ $ echo "program_usb_boot_mode=1" | sudo tee -a /boot/config.txt

上記コマンド(ハイライト部分)を実行することでUSBboot有効化の準備が整います。
ちなみに、SSDやUSBメモリの場合は問題なりませんが、HDDの場合は以下のコマンド(ハイライト部分)を実行して、タイムアウトを5秒に変更します。

fm328@raspberrypi:~ $ echo "program_usb_boot_timeout=1" | sudo tee -a /boot/config.txt

HDDの場合はスピンアップの時間があるので、タイムアウト時間を延長(5秒)することで対応させます。

さあ!再起動するぞ!

設定が完了したら

fm328@raspberrypi:~ $ sudo reboot

レッツ再起動!

しばし待って、起動し終わったらもう一度ログインして、最初に行ったコマンド(ハイライト部分)を実行すると、

fm328@raspberrypi:~ $ vcgencmd otp_dump | grep 17:
17:3020000a

といった感じで実行結果が「17:1020000a」→「17:3020000a」に変更しているのがわかると思います。
「17:3020000a」と言うのが”USBboot:有効”になったことを指しています。
ここまで来たらRaspberry Piをシャットダウンしてください。

fm328@raspberrypi:~ $ sudo shutdown

後はUSBで起動確認

本体がシャットダウンしたら、電源を抜いて、microSDカードを本体から抜き取り、用意したUSBメディアをUSBポートに挿して、電源を繋いで起動させます。

後は同じようにログインできれば完了です!

お疲れ様でした!

コメント