我试图找到最佳实践、现代的方式来做我以前用python-vm-builder(又名 ubuntu-vm-builder)做的事情。
我想要一种脚本化的、可重复的方式,从ubuntu-core(也就是以前称为JeOS的艺术家)之类的东西开始,添加一些包,定义首次运行的脚本等。
我所追求的是类似于旋转自定义 ISO(尽管它不是 ISO,它将是一个“已安装”系统)。结果需要是一个内核、initrd 映像和 rootfs,适用于带 NFS 的无盘 PXE 引导。
使用什么工具来创建 Ubuntu 网络引导映像(或任何与此相关的 Ubuntu 映像)?它们是否足够灵活满足我的需求?
用于创建用于 Ubuntu 集成测试的全新安装环境的工具如何?他们会合适吗?
请注意,在运行时 rootfs 将以只读方式挂载,因此我不希望随着时间的推移管理实例。我希望在每个新的 Ubuntu 版本中重新安装自动安装,并且每隔 6 个月定期重新安装。
我正在尝试 PXE 引导 UEFI 客户端。我当前的 BIOS 客户端设置使用 pxelinux.0 和 pxelinux.cfg/default,如下所示:
DEFAULT vmlinuz-3.8.0-25-generic
APPEND initrd=initrd.img-3.8.0-25-generic root=/dev/nfs nfsroot=10.17.76.1:/var/lib/tribble/ephemeral ip=dhcp ro nomodeset
Run Code Online (Sandbox Code Playgroud)
但是我正在努力用 UEFI 做同样的事情,因为有很多不同的方法可以采用,而且很少有好的文档。
按照PXE 在 UEFI 上引导 netboot mini.iso 的指南,我能够通过 PXE 引导进入安装程序,但到目前为止我还没有想出如何使这些说明适应我的用例。
所以我追求的东西很少:
为 PXE 引导 UEFI 客户端推荐什么引导加载程序?
您能否指出一个使用所述引导加载程序以 PXE 引导通过 NFS 导出 rootfs 的 UEFI 客户端的工作示例?
我看过很多教程都引用了pxe和pxecmd grub 模块,但是这些教程在 Ubuntu 13.04 中不存在……它们是否已被弃用,如果是,用什么替代它们?
我正在考虑的选项:
使用elilo
使用grub2
使用Linux EFI 存根加载器(有点麻烦,因为我们必须使用硬编码的引导参数编译我们自己的内核)
在这众多选择中,我希望找到一个低风险的解决方案,该解决方案将继续得到 Ubuntu 的大力支持。