物理マシンでUbuntu Serverのautoinstall
Ubuntu Serverを自動インストールする方法については、Ubuntu Serverガイドにすでにちゃんとした記事がある。
- Automated Server installation
- Automated Server install quickstart
- Automated Server installer config file reference
あとは柴田さんのgihyo.jp記事もあるので日本語でも解説されている。
Ubuntu Serverガイドにしたがって、自分用に最小のautoinstallファイルを作ってやってみた。
#cloud-config
autoinstall:
version: 1
identity:
hostname: ubuntu-server
username: ubuntu
# password=ubuntu
password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
ssh:
install-server: yes # https://launchpad.net/bugs/1974483
allow-pw: no
apt:
geoip: false
kernel:
flavor: generic # or hwe
ドキュメントにあるように、kvm
コマンドと下記カーネルコマンドラインパラメーターを使うと完璧に動作する。
-append 'autoinstall ds=nocloud-net;s=http://_gateway:3003/'
けれども、カスタマイズしてない普通の22.04 LTSのISOだとうまくいかなくて、最初の言語選択の画面で止まってしまう。
結局はすごく小さなところが問題で、セミコロンをエスケープしておかないと、autoinstallファイルを取得するためのURLが無視されて渡らない。これだけの話で1時間以上悩んだ。ドキュメントへのフィードバックはしたので、将来的に誰かの役に立てればと。
![GRUBの時はセミコロンのエスケープが必須](/ja/post/2023/ubuntu-server-autoinstall-with-a-physical-machine/featured.png)