我使用本指南来设置我的 iPXE 服务器:https://linuxhint.com/pxe_boot_ubuntu_server/
它是在虚拟 Ubuntu (20.4.6) 桌面系统上设置的,经过一些测试,它非常适合 PXE 引导和安装 Ubuntu 22.4 和 20.4 在不同的客户端系统上。
但是,我无法让 Debian (12.2.0) 工作。
我下载了以下完整(3.7GB)iso:
https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-12.2.0-amd64-DVD-1.iso
并将其提取到/os-images/debian-12.2.0-amd64
然后我编辑了 boot.ipxe 文件并添加了一个 debian 菜单项:
:debian-12.2.0-amd64
set os_root os-images/debian-12.2.0-amd64
kernel tftp://${server_ip}/${os_root}/install.amd/vmlinuz
initrd tftp://${server_ip}/${os_root}/install.amd/initrd.gz
imgargs vmlinuz initrd=initrd.gz ip=dhcp root=${server_ip}:${root_path}/${os_root}
boot
现在它部分起作用了:
在我的客户端上,它启动到选择菜单。
当我选择 Debian 安装时,它会启动 debian 安装程序。
它问我 3 个问题(语言、国家/地区和键盘映射),我使用默认值回答。
然后,在检测到安装介质的短暂屏幕后,它在蓝色屏幕上等待几秒钟,然后出现一条通知:
[!!] 检测并安装安装介质
因此,安装程序似乎无法找到 Debian 介质。
我在使用谷歌时尝试了很多不同的论点imgargs
。
但是,我似乎找不到与我拥有的 iPXE 环境相同的系统设置。大多数示例都使用 netboot.tar.gz,或者是旧 Debian 版本的示例。我不确定,但我认为我能找到的示例不适用于我的设置,因为它已经从 TFTP 启动。我的说法正确吗?
我确实喜欢从本地媒体安装它,因为该网络旨在与互联网断开连接。但是,如果太困难,我也可以使用远程媒体,只要我可以将其与 ubuntu 安装程序的当前(工作)解决方案集成即可。