我在尝试着完全自动化测试ISO 安装程序。
该 ISO 可通过 ISOLINUX 启动,并可通过 Kickstart 自动安装 Oracle Linux 6。
我的文件中有几个label
选项isolinux.cfg
,每个选项都附加一个不同的 Kickstart 文件,如下所示:
foo
kernel vmlinuz
append ks=cdrom://isolinux/oel6-foo-ks.cfg
bar
kernel vmlinuz
append ks=cdrom://isolinux/oel6-bar-ks.cfg
这些标签有助于向用户提供启动菜单,询问他们要安装什么类型的系统(富或酒吧)。
通过 VirtualBox 命令行,我可以看到如何创建一个附加了 ISO 的 VM 并启动它。
我的问题是如何与启动菜单交互由 ISO 提出?
一般来说,有没有办法从虚拟机管理程序命令行自动与启动菜单进行交互?
如果没有合适的方式为了与启动菜单交互,我们能否绕过启动菜单,append ks
通过类似下面的方式手动提供选项这:
VBoxManage unattended install --extra-install-kernel-parameters=params
。
如果可能的话,我希望避免更改 ISO(例如将超时默认为一个菜单选项,或完全删除菜单)。
答案1
使用--auxiliary-base-path
选项
VBoxManage unattended install {name} --user={config['mcs']['user']} --password={config['mcs']['pwd']} \
--auxiliary-base-path {aux}/ \
--install-additions --iso={download} --country=SG --post-install-template={cfg} --script-template={cfg}
然后,您可以在启动虚拟机之前修补 isocfg 文件。我使用它来使用 Ubuntu 20.04自动安装而不是 Debian 安装程序进行修补isolinux-txt.cfg