我正在尝试通过 PXE 自动安装 ubuntu-server 21.10。由于基于文本的安装确实有效,因此我省略了有关整个 PXE 设置的一些详细信息。
这是以下的相关部分/srv/tftp/pxelinux.cfg/default
:
label 1
menu label ^Install Ubuntu 21.10
kernel vmlinuz
initrd initrd
append url=http://IP/images/ubuntu-21.10-live-server-amd64.iso autoinstall ds='nocloud-net;s=http://IP/ks/' cloud-config-url=/dev/null ip=dhcp fsck.mode=skip ---
此配置位于 http 服务器上/ks/user-data
:
#cloud-config
autoinstall:
version: 1
locale: en_US.UTF-8
identity:
username: user
hostname: temp_hostname
password: '$5$NOheCwwkZHOOQR54$gV90i.jGeomPadblFpg6nNL2f/Y27BfevHCyDVTk7h.'
users:
- name: user
shell: /bin/bash
lock_passwd: false
ssh_pwauth: true
chpasswd: { expire: false }
sudo: 'ALL=(ALL:ALL) ALL'
groups: wheel
disable_root: false
network:
version: 2
ethernets:
enp0s31f6:
dhcp4: true
storage:
layout:
name: direct
我希望安装过程无需任何用户干预。但相反,系统提示我使用基于文本的安装程序。
提示:http服务器上的iso文件是原始的Ubuntu服务器iso文件。我还没有尝试将meta-data
和user-data
配置文件打包到 iso 本身的建议。我还想找到一个不需要这样做的解决方案,这样我就可以轻松编辑 cloud-init 配置,而无需接触 iso 文件。
编辑:我现在尝试使用修补的 iso(修补 grub.cfg 并添加user-data
和meta-data
文件)。它仍然启动到手动安装程序。