我正在安装带有嵌入式自动安装用户数据文件的 ISO,以使用 UEFI 在物理服务器上自动安装 Ubuntu。启动模式为 UEFI。在操作系统安装结束时,我希望自动安装过程在重新启动之前弹出 cdrom。但我从安装日志中看到弹出操作失败。结果,服务器无限期地循环安装。
我在自动安装 YAML 中遗漏了什么吗?这是它的副本:
#cloud-config
autoinstall:
version: 1
identity: {hostname: ubuntu, password: password,
realname: Govind, username: bma}
keyboard: {layout: us, toggle: null, variant: ''}
locale: en_US.UTF-8
early-commands:
- echo "Nothing yet"
network:
ethernets:
eno1: {dhcp4: true}
version: 2
ssh:
allow-pw: true
authorized-keys: []
install-server: true
storage:
config:
- {ptable: gpt, serial: <removed>, wwn: '<removed>',
path: /dev/sdb, wipe: superblock-recursive, preserve: false, name: '', grub_device: false,
type: disk, id: disk-sdb}
- {device: disk-sdb, size: 536870912, wipe: superblock, flag: boot, number: 1,
preserve: false, grub_device: true, type: partition, id: partition-0}
- {fstype: fat32, volume: partition-0, preserve: false, type: format, id: format-0}
- {device: disk-sdb, size: 118914809856, wipe: superblock, flag: '', number: 2,
preserve: false, grub_device: false, type: partition, id: partition-1}
- {fstype: ext4, volume: partition-1, preserve: false, type: format, id: format-1}
- {path: /, device: format-1, type: mount, id: mount-1}
- {path: /boot/efi, device: format-0, type: mount, id: mount-0}
late-commands:
- ip_array=`ip a | grep 'inet ' | grep -v '127.0.0.1' | awk '{print $2}' | awk -F'/' '{print $1}' `
- iplist=""
- for item in $ip_array; do iplist=`echo $item","$item1`; done
- echo "curl -X POST -k --header 'Content-Type':' plain/text, Accept':' plain/text' -d '$iplist' %BMA_REST_URL%" > /tmp/confirm.sh
- bash /tmp/confirm.sh
- sleep 10
- umount -f /cdrom
如果需要的话我可以提供任何额外的日志。
答案1
您看到哪些日志显示eject
失败?为什么要/cdrom
卸载late-commands
?
该eject
命令由运行卡斯帕安装程序退出后。源代码因为casper-stop
脚本显示如果/cdrom
没有安装那么它将不会运行该eject
命令。
# 如果 /cdrom 没有挂载,不要尝试弹出它
你还可能会遇到以下情况:科廷正在重新排列引导顺序以优先选择 cd-rom。安装期间的默认行为是将当前引导方法设置为第一个引导选项。
也可以看看