Ubuntu 22.04 の自動インストール環境をセットアップしようとしています。これは、20.04 および以前の LTS リリースではすでに何年も稼働しています。ネットワークと CD ブートを実行するために、pxe/isolinux と tftp および dhcp サーバーを使用しています。また、UEFI を動作させるためにいくつかのトリックも使用しています。
プレシードと Debian インストーラー (di) を使用して、Ubuntu 22.04 の自動インストールを開始できる、動作する vmlinuz および initrd イメージが見つかりません。
20.04 をインストールするには以下を使用しますが、22.04 では動作しません。
linuxefi /path/to/2004/amd64/linux auto=true priority=critical url=http://example.com/ubuntu/2004/amd64/seed_ub_uefi.cfg console-setup/layoutcode=us interface=auto
initrdefi /path/to/2004/amd64/initrd.gz
22.04 ubuntu CD iso イメージから vmlinuz および initrd.gz イメージを抽出しようとしました。しかし、何を試してもルート ファイル システムが見つかりません。イメージには di および preseed 機能が組み込まれていないのでしょうか?
そのようなイメージが存在しない場合は、自分で作成するにはどうすればよいでしょうか? Canonical が強制する自動インストール方法に移行するのはあまり気が進みません。当社のインフラストラクチャ全体は前述の方法に基づいており、同様の方法で複数の OS をインストールしています。
答え1
Ubuntu は 20.04 ですでに cloud-init に切り替えており、互換性のために preseed 方式を維持しただけです。これで完全になくなりました。
ファイル名の.ymlファイルを作成する必要がありますuser-data
。ここで指定。
次に、grub.cfg でファイルを含むディレクトリへのパスを指定できます。
私は .iso (ディレクトリ内/nocloud/
) に直接ファイルを提供しますが、http の場所を簡単に提供することもできます。
menuentry "Install Ubuntu Server (autoinstall)" {
set gfxpayload=keep
linux /casper/vmlinuz quiet autoinstall ds=nocloud\;s=/cdrom/nocloud/ ---
initrd /casper/initrd
}
答え2
前述の内容は 20.04 以降非推奨となり、22.04 で削除されました。Ubuntu は現在、自動インストール (cloud-init とも呼ばれます) を使用しています。自動インストール
詳細な動作例が必要な場合は、次の GitHub リポジトリをご覧ください。https://github.com/lavabit/robox
Packer を使用して、複数のプロバイダー用の Vagrant ボックスを生成します。Ubuntu 20.10 以降、自動インストールが使用されています。