我正在尝试让自动安装适用于 Ubuntu Server 22.04,但安装程序似乎没有获取说明

我正在尝试让自动安装适用于 Ubuntu Server 22.04,但安装程序似乎没有获取说明

我正在尝试让最基本的 Ubuntu Server 无头安装方案发挥作用。我将用户数据 yaml 文件精简到最低限度。

#cloud-config
version: 1
identity:
   hostname: headless2204
   username: batman
   password: topsecret
   package_upgrade: false

ssh:
   install-server: yes
   allow-pw: yes

Together with an empty meta-data file I placed it into the /nocloud-net folder.

至于 grub.cfg,我添加了:

menuentry "Headless Ubuntu Server Installation" {
    set gfxpayload=keep
    linux /casper/vmlinuz  quiet autoinstall ds=nocloud-net\;s=/cdrom/nocloud-net/ ---
    initrd /casper/initrd.gz
}

我采取的唯一捷径是弹出 Ubuntu 桌面虚拟机并启动 Cubic,而不是 CLI 工具和 xorriso。它们之间有什么区别吗?Cubic 似乎在做同样的事情。

我的自定义映像启动正常,更新的 grub.cfg 可以正常工作,但是 Ubuntu 安装程序似乎没有获取自动安装配置。它只是以标准方式工作。当我在安装过程中切换到不同的终端会话 (Ctrl+F2) 来检查日志时,没有任何与自动安装相关的内容。我只能找到 cloud-init 的东西,但那里没有什么用处。

您对修复或调试它有什么想法吗?

答案1

让我尝试将其格式化一下:

用户数据 yaml:

#cloud-config
autoinstall:
  version: 1
  identity:
    hostname: headless2204
    username: batman
    password: <mkpasswd -m sha-512 topsecret> #the original manual stated an unencrypted password which doesn't work
    package_upgrade: false
  ssh:
    install-server: yes
    allow-pw: yes

我将其与一个空的元数据文件一起放入 /nocloud-net 文件夹中。现在我只使用 /nocloud。不过,不要认为文件夹名称很重要。

这是我的自动安装的 grub.cfg 菜单项(只需将其插入到第一个菜单项“试用或安装 Ubuntu Server”之前)

menuentry "Headless Ubuntu Server Installation" {
    set gfxpayload=keep
    linux   /casper/vmlinuz "ds=nocloud;s=/cdrom/nocloud/" quiet autoinstall  ---
    initrd  /casper/initrd.gz   
}

文档和大多数教程都列出了未加引号的配置路径。但不知何故,引号却为我带来了神奇的效果:“ds=nocloud;s=/cdrom/nocloud/”

然而,这其中还有更多的巫术:我只在 22.04 上让它工作。仍在试图弄清楚如何让它在 20.04 上工作。我会把这个问题作为一个单独的问题发布。到目前为止,我发现的唯一明显区别是不同的 grub.cfg 文件结构。

附言:通过添加我在复制和格式化帖子时遗漏的自动安装来更正用户数据。谢谢,mpboden!

相关内容