Skip to content

GCEでPlan 9を動かす

9legacyからplan9-gce.img.gz2をダウンロードして展開する。

カスタムイメージを作るために、Cloud Storageにバケットを作って plan9-gce.img をアップロードする。ただし、disk.raw というファイルを tar+gz で圧縮したものでなければ使えない

Terminal window
mv plan9-gce.img disk.raw
tar Szcf plan9-gce.tar.gz disk.raw

-S オプションは、0が多いファイルを効率的に圧縮するものらしいが、macOSの tar(1) では、展開時しか -S オプションをサポートしていない。

イメージからComputeインスタンスを起動

Section titled “イメージからComputeインスタンスを起動”

上記で作成したイメージをアップロードする。ディスクイメージなのでNearlineで十分だと思う。

  • ファミリ: plan9
  • イメージ名: plan9-yyyymmdd
  • ソース: Cloud Storageファイル
  • Cloud Storageファイル: plan9-gce.tar.gz

ここまでで、カスタムイメージが利用可能になる。Compute Engineのメニューからイメージを選んで新規インスタンスを作成する。ここで、先に作っておいたイメージを参照する。

Plan 9ではSSHなんて動作していないので、Plan 9のサービスへ接続するように設定を行う。

Terminal window
gcloud compute instances get-serial-port-output instance-1 --zone asia-northeast1-c

のようにするとシリアルコンソールが読めるので、とりあえず動いているところを確認してから、ファイアウォールのルールを定義する。

Terminal window
gcloud compute firewall-rules create allow-plan9 --allow tcp:564,tcp:567,tcp:17007,tcp:17010

シリアルコンソールから触れるように許可する。

Terminal window
gcloud compute instances add-metadata instance-1 --metadata=serial-port-enable=1 --zone asia-northeast1-c

シリアルコンソールが不要になったら以下のように削除するといい。

Terminal window
gcloud compute instances remove-metadata instance-1 --keys serial-port-enable