我搜索了文档,但找不到任何关于我想要实现的目标的提及。我们有一个包含脚本的自定义 Ubuntu 安装,这些脚本在预置配置文件中调用。我们正在转向 PXE 环境,我需要一些关于如何调用脚本的建议,它适用于 CDROM 安装,但不适用于 PXE。
预置文件:
调用脚本
/cdrom/preseed/wipe_disks.sh
在 Netboot 环境中,我如何调用自定义脚本?显然 /cdrom 未安装,Netboot 安装的等效项是什么?
PXE 环境使用 NFS 获取 ISO 文件。在安装程序中,我看不到它安装在任何地方。
作为参考,这是 PXE 启动参数(使用 iPXE)
imgargs vmlinuz initrd=initrd.gz root=/dev/nfs boot=casper netboot=nfs nfsroot=${server}:${nfs_path}/${dir} ip=dhcp url=http://${server}/preseed/ubuntu-server-minimal.seed
安装失败,因为在 preseed 文件夹中找不到我们的自定义脚本
答案1
你可以通过以下方式
d-i preseed/late_command string in-target wget -P /tmp/ $server/script.sh; in-target chmod $+x /tmp/script.sh; in-target /tmp/script.sh`
将此行放入预置文件中,您就可以在系统中使用 bash 执行所有熟悉的操作。
当然,你必须用网络主机或本地 IP 替换 $server。
或者
d-i preseed/run string run.sh
run.sh 文件必须存储在下载 preseed 文件的同一目录中