Raspberry PiにUbuntuを外付けディスクでヘッドレスインストールする

条件がたくさんあって合致するWebサイトがありません。いくつか参考にさせて頂いたサイトを参照しながら、実行していこうと思います。

なぜそうしたいか、そしてやりたいこと

実は先日来ちょこちょこいじっているMacPro(2006)なんですが、Webサーバーにしようと思っていたんですね。しかし、いかんせんパワーが足りない。今から15年前のマシンですから致し方ないところはあるのですが、Webサーバーとしてはレスポンスに問題がある。じゃ、どうしようと思ったところでRaspberry Piにその役を担ってもらおうと思ったわけです。

でもってやりたいことは次の通り。

  • OSはUbuntu Server
  • 母艦はRaspberry Pi 4B(8GB)
  • OSを収めるのは外付けディスク
  • 基本ヘッドレスでセットアップする

外付けディスクはこれまで他のRaspberry Piで使っていた120 GBのSSDを流用しました。これが後々頭を悩ませることになるとは思いもよりませんでした。

ステップ1 Raspberry Piのファームウェアを更新する

USBブートができるようになるためには、EEPROMに収められているファームウェアを更新する必要があるそうです。そこで一旦、Raspberry PiOSで立ち上げます。いつも通りsudo apt update && sudo apt -y full-upgradeで最新版にしておきます。

次に、/etc/default/rpi-eeprom-updateを開いて行末を"stable"に書き換えます。更に、EEPROMを書き換えます。

sudo rpi-eeprom-update -d -a

リスタートすると実際にEEPROMに書き込まれて新しいファームウェアによる起動になります。

ステップ2 Ubuntuをインストール…できない

このステップ2で私の場合2日要しました。できる人にはまだほど遠いのを痛感したのです。

基本私はmacOSとRaspberry Piを行ったり来たりしながら作業しようと思っていました。Ubuntuインストールもささっと終わらせて次の段階に進もうと、進めると思っていました。先にも書いたように、外付けディスクはこれまでもRaspberry Piにつないで使っていたものの流用です。流用ということはフォーマットがext4になっているんですね。これでもmacOSは読み書きはできなくとも認識すると思っていました。

認識しません。ターミナル上から情報を見ても、ユーティリティのディスクユーティリティから見ても認識しません。読み書きどころかフォーマットどころか候補にも挙がってこないのです。これ、困りました。

となるとRaspberry Piにつないでインストールすると言うことになります。手順としては、

  • 落としておいたRaspberry Pi用のUbuntuイメージをRaspberry Piに転送する
  • Raspberry Piに外付けディスクを接続する
  • 外付けディスクにddコマンドでUbuntuイメージを転送する

簡単ですね。手順が少し違っただけ。そう思っていました。手順通りに行って以前、Raspberry Piでも行ったリサイズをかけてみます。エラーメッセージがでます。転送後の外付けディスクは容量120 GBにもかかわらず16 GBほどしか認識されていません。これではダメですね。エラーメッセージはエクスパンドできませんでした。みたいなもので、全く問題解決につながるようなものではありませんでした。

ステップ3 やり直し・練り直し

Raspberry PiからUbuntuをインストールできないなら、UbuntuからUbuntuをインストールできるんじゃないか。ということで、やってみましたがこれもダメ。

インストールは完了して立ち上がってくれるのですが、2度目以降リスタートかけたが最後、立ち上がらなくなります。これでうまくいくと書かれているのはUbuntuではなく、Raspberry PiOSの方。Ubuntuには何かあるのかしら? と思って、再度ググってみました。すると、raspberry pi 4 でubuntu20.04をusbブートするの巻 | ゆっくり遅報 さんのところで似たようなことをやっています。

ステップ4 Ubuntuインストール成功

我が家には、macOS・Linuxの他にもう一つWindows11があります。外付けディスクをWindows11につないでみるとmacOSと同じように認識しません。しませんが、フォーマットの方には現れてきます。オッ! これならいけるかも、これにつないでRaspberry Pi Imagerで書き込めばいいのではないか。

成功したんですね。1度フォーマットしてFドライブとしてマウントさせてやったら、Raspberry Pi Imagerの方でも認識してくれました。実は、フォーマットしてからmacOSにもつないでみたんですが、macOSではうんともすんともいいませんでした。この辺よく分かっていません。

何はともあれ、Windows11上でUbuntuインストールが完了しました。

後は先ほどのリンクにあるとおり、ブートローダーの圧縮を解いてやって、起動させれば良いことになります。

ステップ5 SDカードなしで外付けディスクからUbuntu起動成功

UbuntuをRaspberry Piにつないで、SDカードを抜いた状態にして電源ON! Ubuntuサーバーが立ち上がりました。ゆっくり遅報さんのところで書かれていた、apt更新の度にブートローダーの圧縮を解いてやるスクリプトも順調に動いています。再起動も問題ありません。ただ、apt更新時にFiles have not changed, Decompression not neededというアラートが出てきます。ファイルは変更されてないよ。圧縮を解く必要はないぜ。というメッセージですね。若干気持ち悪いのですが、エラーではなくアラートなので無視することにします。

ここまで長かった。長かったけど、起動できただけでWebサーバーとしての設定はこれから、金曜の夜から、日曜の午後まで… こんなに時間がかかるとは思わなかった。さて、これからはWebサーバーとしての設定が待っています。後はじっくり腰を据えてかかります。

投稿者プロフィール

kaizawa
kaizawaブロガー
新潟県在住。1964年生まれ、東京オリンピックの年ですね。
突然燃え上がったり、鎮火したり興味の波が激しいので注意が必要です。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA