Oracle Cloud で Debian arm64 w/ Debian Official Cloud Images

ネットでよく見かける、なんかよくわからん .efi を落としてくる方ではない方法です。

手元からqcow2を上げるのとよくわからん .efi を落としてくるのどっちが良いかという話はありますが、気になるんだったら OCI に作ったインスタンスから上げれば良いでしょう。そもそもOracleに公式で用意していただければそれに越したことはないのですが……

  • https://cdimage.debian.org/images/cloud/ から好きなバージョンを選んで debian-*-genericcloud-arm64-*.qcow2 を落としてくる
  • Storage → (Object Storage & Archive Storage) → Object Storage にテキトーに Bucket を作る
  • 作った Bucket にさっき落とした qcow2 を上げる
    • 2024年11月時点において、Object Storage の無料枠はアカウント状態によって 10GB あるいは 20GB あり、genericcloud の qcow2 は 400MB も行かないので他のものを置いていない場合は無料枠を越えない……はず。お金取られたくない人はちゃんと確認してください https://docs.oracle.com/ja-jp/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm
    • やる気がある人はアップロード後に右端の「…」から View Details を開いて opc-multipart-md5 とかを見ておくと良いでしょう
  • Compute → Custom Images で Import image
    • Name はわかりやすい名前を適当に決める (qcow2のファイル名コピペとかでも良いでしょう)
    • Operating System を Debian にする
    • Import from an Object Storage bucket を選ぶ
    • さっきの qcow2 を入れたバケットを選び、 Object name もさっきの qcow2 を選ぶ
    • Image type で QCOW2 (For disk images files used by QEMU.) を選ぶ
    • Launch mode は Paravirtualized mode でいいと思う?
  • 作成完了まで待つ
  • 完了したら Edit details で VM.Standard.A1.Flex を対象に入れて Save changes
  • Edit image capabilities を開いて何もせずに Save changes
    • これをしないと起動しない

ここまで終わったらインスタンスを作る時にさっきの Custom Image を選んでインスタンスを作る (SSH鍵を指定しないとたぶんログインできなくなる)。

インスタンスが起動したら ssh debian@<IPアドレス> で入れる。sudo が NOPASSWD で入っているのであとはお好きにどうぞ。

ちなみに cloud-init は一番下の Show Advanced options に隠れています。