使用 PXE 安装 Debian Bullseye ISO

使用 PXE 安装 Debian Bullseye ISO

几天来我一直在努力寻找解决方案,感觉好像我错过了什么,但我不知道是什么。我正在尝试使用 PXE 创建带有无人值守 Debian ISO 安装的离线系统,但似乎无法使其工作。DHCP / TFTP / pxelinux.cfg/default / preseed 等都运行良好,我可以通过 PXE 启动 Live 映像,没有任何问题,我只需在启动配置中附加:append boot=live components splash net.ifnames=0 biosdevname=0 interface=eth0 fetch=http://192.168.0.196/debian.iso(或获取 filesystem.squashfs)

此外,将此 ISO 写入 USB 并从中启动允许我安装和运行实时版本而不会出现任何问题。但是,如果我尝试使用与上面相同的附加行,使用 ISO 的“安装”目录中的内核和 initrd,则在尝试通过 PXE 安装时不会触发任何 ISO 下载。而且我还没有弄清楚如何让 debian 安装程序通过 PXE 与 ISO 一起工作。

因此,我目前的方法是获取 ISO,解压它,然后将我的服务器设置为 repo 镜像,这一直运行良好,直到我偶然发现 debian 安装中的一个错误:di debian-installer/allow_unauthenticated boolean true 不被尊重。我当然可以生成一个密钥并开始使用它,但我只是觉得我正在为已经解决的问题创建一个复杂的系统。

我在 Ubuntu 上尝试了同样的事情,下载了 ubuntu-20.04.4-live-server-amd64.iso,从 iso 中提取了内核和 initrd,并添加了一个 pxelinux.cfg 条目:标签 ubuntu 菜单标签 Ubuntu pxe iso 安装 linux /ubuntu/vmlinuz initrd /ubuntu/initrd 附加 root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=http://192.168.0.196/ubuntu-20.04.4-live-server-amd64.iso

而且它直接工作了。通过 PXE 安装 ISO 没有任何麻烦。很明显,我肯定错过了 Debian 的某些东西,因为 Ubuntu 是基于 Debian 的。请帮忙!:)

我正在使用实时构建来构建我的 ISO,但我也尝试了 debian-live-11.3.0-amd64-standard.iso,但没有成功。

欢呼威廉

答案1

此示例启动进入 Debian liveISO使用远程控制

将这些文件从 ISO 挂载或提取到您的 http 服务器的端点:

  • d-i/initrd.gz
  • d-i/vmlinuz
  • live/filesystem.squashfs

并运行此 iPXE 脚本:

set iso=http://192.168.0.196/
kernel ${iso}/d-i/vmlinuz initrd=initrd.magic fetch=${iso}/live/filesystem.squashfs
initrd ${iso}/d-i/initrd.gz
boot

相关内容