nazo6 noteblog

Oracle Cloud ComputingにDebian(などのディストリビューション)をインストールする方法

作成:2024/06/18

更新:2024/06/19

この記事は、Zennにも投稿しています。
最近Oracle CloudのarmのFree Tierを使えるようになったので使おうとしたのですが、作成時に選べるイメージに使い慣れたDebianがありません。
オブジェクトストレージにイメージをアップロードすればカスタムイメージを使えるようですが、容量をなるべく使いたくなかったのとインストール時のオプションを変更したいと思い探したところnetboot.xyzというものが使えることがわかったので紹介します。
ちなみにDebian以外の様々なLinuxを入れることができます。
参考:

Oracle Cloud Infrastructure | netboot.xyz

Using netboot.xyz on Oracle Cloud Infrastructure

netboot.xyz

1. インスタンスを作成

Ubuntuのminimalではないイメージを使って作ってください。ARMでもx64でもどちらでもいけるみたいです。また、作成時にはSSHキーを登録するようにしてください。

2. netboot.xyzの準備

netboot.xyzのブートファイルをダウンロードするためにSSHでログインして以下のコマンドを実行します。
※この手順はarm用のものです。x64の場合は上のリンクを参考にして別のコマンドを実行してください。
# netbootをダウンロード
sudo wget -O /boot/efi/netboot.xyz-arm64.efi https://boot.netboot.xyz/ipxe/netboot.xyz-arm64.efi
# UEFIにreboot
sudo systemctl reboot --firmware-setup

2. VNCで接続

UEFIブートメニューを使うためにVNC接続をする必要があります。インスタンス詳細画面のコンソール接続より、「ローカル接続の作成」を押し、秘密鍵をダウンロードしてから接続を作成してください。
できたら作成した接続のメニューより「WindowsのVNC接続のコピー」を押します。LinuxではLinuxの方を選択しますが今回はWindowsでの接続について書きます。
resource/public/blog/2024/06/oci-debian/vnc-console.png
接続するためにPuTTYをインストールします。例えばscoopでは
scoop install putty
となります。
次に秘密鍵をPuTTYの形式に変換します。PuTTYと同時にインストールされるPuTTYGenを開き、先程ダウンロードした秘密鍵を「File -> Load Private Key」より開きます。開けたら画面中央部の「Save private key」より.ppkファイルを保存します。
今度はWindowsのコンソールでPowershellを開き、先程コピーしたコマンドを貼り付けます。コマンド中に
-i $env:homedrive$env:homepath\oci\console.ppk
という箇所が2箇所あるはずです。この-iの後のパスを先程生成した.ppkファイルのパスに置き換えて実行します。接続できれば
Access granted. Press Return to begin session.
というメッセージが出るはずです。これで接続準備は完了です。

3. OSのインストール

お好きなVNCビューアを使ってlocalhost:5900に接続します。するとこのようにブートメニューが出るはずです。
resource/public/blog/2024/06/oci-debian/uefi.png

この画面で「Boot Maintenance Manager -> Boot From File -> 一つだけ見えてるやつを選択 -> netboot.xyz-なんとか.efi」を選択します。
しばらく待っているとnetboot.xyzが起動します。
ここで「Linux Network Installs」を選択することで様々なディストリビューションをインストールすることができます。あとはインストールを指示に従い進めるだけです。
ちなみにこの状態で放置しているとVNCが切断されてしまい、コンソールから再起動することができなくなってしまいました…。たまに何か操作してあげたほうかいいかもしれません。