RaspberryPi をBerryBootでマルチブート化&OSバックアップ
はじめまして、matuconです。
このブログではRaspberry PiやM5StackなどのマイコンやWeb開発の技術、ITガジェットネタを載せていこうと思います。
初投稿ではRaspberryPi4をマルチブート化とOSの巻き戻しやバックアップが簡単にできる環境を作ってみたのでこの手順を紹介します。
BerryBootとは
1台のラズパイで複数のOSを動かすマルチブーツを可能にするツールです。類似ソフトでNOOBSやPINNがありますが、どれも使いたいOSを選択するだけで勝手にインストールして使える状態にしてくれます。今回は自前のOSイメージを使いたいという思いがあり、これが出来るBerryBootを利用することにしました。
構成
デバイス | 内容 |
---|---|
Raspberry Pi 4 Model B 4GB RAM | ラズパイメイン機 |
MicroSD 8GB | ブートのみで利用するため1GB未満でもOK |
SSD 480GB | メインストレージ。いろんなOSを入れていきます。 |
裸族のお立ち台 | ラズパイ接続用 |
スイッチ付きUSB電源ケーブル | ラズパイ用の電源 |
キーボード | 普段使いのもの |
マウス | 普段使いのもの |
ディスプレイ | 普段使いのもの |
SSDは外部電源をつなげて使いたかったので裸族を使いました。以前バスパワーでSSDつなげた時に電力不足?か何かでSSDが壊れてしまったので。。(kpartx コマンドでは認識するがパーティション切ろうとするとエラーになる。。)
BerryBootインストール
既にいろいろなブログなどで紹介されていますが、作業ログとして最初からインストールする方法を書いてみます。
手順はBerryBootのzipをダウンロードしてSDにコピペするだけです。 MicroSDのフォーマットは以下の「Raspberry Pi Imager」 を利用します。(FAT32でフォーマットできればこれなくても良さそうです)
Raspberry Pi OS – Raspberry Pi
- 「Operating System」は「ERASE」を選択
- 「SD Card」はフォーマットしたいSDを指定
BerryBoot はこちらの本家サイトからダウンロードします。
BerryBoot v2.0 - bootloader / universal operating system installer [BerryTerminal]
Zipファイルを解凍して、中身をフォーマットしたSDにコピペします。
起動・初期設定
環境情報設定
ラズパイにMicroSDを挿して起動すると以下の画面が表示されます。
- Videoは画面に緑の線が表示されてれば「yes」。
- Network connection は環境に合わせて選択。
- Locale settings はインターネットにつながっていればデフォルトで設定される。つながってない場合は右画像の通り入力する。(WiFi利用の場合は WiFi country は「JP」を設定)
ストレージ設定
OSをインストールするストレージを選択します。 裸族の電源を入れてなかったので入れます。(ホントはラズパイ起動前にやる)
mmcblk0はSDカード、Networked storageはNASを使う場合で今回はSSDなのでsdaを選択します。File systemはext4にします。 Encrypt disk はディスクを暗号化できると思うのですが、チェックするとエラーになってフォーマットできないので諦めました。この先に進むとフォーマットが始まりディスク内容が消えてしまうのでご注意下さい。パーティションの構成は自動で作られユーザ側で変更することはできないようです。
Format ボタンでフォーマットが始まります。
OSインストール
フォーマットが終わったらOSをインストールします。
「Add OS」を押すとインストールできるOS一覧が出るので、入れたいものを選択します。 RaspberryPiOSはちょっと古めのRaspbian がインストールされるようですが、一旦これを入れてみます。
「OK」押すとOSイメージのダウンロードとインストールが始まります。終わったら「Exit」かwindowのバツボタンを押すと再起動されます。再起動後はインストールされたOS一覧が表示されるので、「Boot」ボタンで起動するか10秒待つと勝手に起動されるようです。
ちなみに管理画面でOS名をダブルクリックすると名前とgpu_memが指定できるようです。
実験1:ファイルの追加
各OSのファイルがBerryBoot 上でどこにあるのか見てみます。
ホームディレクトリに空ファイルの「testfile」を追加して再起動します。
OS選択画面で「Edit Menu」を押して管理画面を開きます。「More Options」、「Console」を押すとコンソールが利用できるようになるのでメッセージ通りCTRL + ALT + F2 でコンソールを表示します。(console ボタンを押さないとtty2 が起動しないようです)
ユーザは「root」でパスワードはなしです。「/mnt/images」にOSイメージが置かれているようです。
「/mnt/data」にOS一覧の名前(デフォルトはイメージ名)と同じフォルダがあり、この中がOSのルートディレクトリになってそうです。 「/mnt/data/Debian_Buster_Raspbian_2019.10.img192/home/pi」に先ほど作った「testfile」がありました。
実験2:OS巻き戻し
管理画面で「Reset OS」を押すとインストール直後の状態に戻すことができるようです。
「/mnt/data」にあったOS名のディレクトリが消えました。同じディレクトリにあった末尾が「work」のディレクトリは何者かわからなかったです。。
実験3:OSバックアップ
「Clone」ボタンでOSのコピーができるようです。OSイメージだけのコピーとOSをカスタムした差分ファイルを含めたコピーができるようです。
完了するとOS一覧に追加されました。 似た機能で「Backup」があります。こちらはOSイメージファイルを作成することができるようです。ファイル出力のみで一覧には反映されないようです。
その他
「Set password」は管理画面表示時にパスワードをかけられるようです。設定、再起動後に管理画面を開くとパスワードが求められます。
最後に
BerryBootの利用方法についてご紹介しました。設定を壊して巻き戻したい 直にSDカードにインストールしてないため予期せぬところで問題が起きる可能性がありますが、とりあえずはこの環境でいろいろ遊んでみたいと思います。次回はオリジナルのOSイメージをインストールしてみます。