我有组成我使用的 PXE 映像的自定义vmlinuz
和文件。initrd
给定这个 initram 映像,有什么方法可以构建 ISO 等效映像吗?
genisoimage
我从工具或工具中看不出任何明显的东西mkisofs
。我是否遗漏了什么,也许我试图完成的事情没有意义?
我正在尝试设置 PXE 引导服务器,但客户端引导失败并进入 UEFI 交互式 shell。该系统是 Rocky Linux (RHEL8)。我已将 grub2 和 shimx64.efi 文件复制到 uefi 路径中,并为网络书设置了 dhcp 服务器,并为 UEFI 64 位文件名提供了 uefi/shimx64.efi。我知道 PXE 服务器正在工作,因为当我尝试使用旧版 BIOS 时,它会执行 pxelinux.cfg/default 中定义的菜单 - 所以我确信 DHCP 基础设施是正确的并且 TFTP 正在工作。
所以我无法弄清楚为什么 uefi 引导不会加载垫片。有没有办法转储 tftp 日志并查看试图从服务器中提取哪些文件?
我正在使用 VirtualBox 并且有两个虚拟机
虚拟机甲:
和虚拟机 B:
我正在关注那篇文章:https ://wiki.debian.org/PXEBootInstall以了解如何使用网络引导服务器 (VM A) 引导客户端 VM (VM B)
我“手动”为 VM A 的内部适配器网卡分配了 IP
ifconfig eth2 192.168.0.1 netmask 255.255.255.0 up
然后,我使用以下配置在 VM A 上启动了 dhcp 和 tftp 服务器:
/etc/dhcp/dhcpd.conf
:
default-lease-time 600;
max-lease-time 7200;
allow booting;
option architecture-type code 93 = unsigned integer 16;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.253;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
filename "pxelinux.0";
}
group {
next-server 192.168.0.1;
host tftpclient {
if option architecture-type = 00:07 {
filename "debian-installer/amd64/bootnetx64.efi";
} else {
filename "pxelinux.0";
}
}
}
/etc/default/tftpd-hpa
:
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
当我打开 VM B 的电源时,我看到
Waiting for link-up on net0... ok
DHCP (net0 08:00:27:3a:f4:34)...... ok
net0: 192.168.0.2/255.255.255.0 gw 192.168.0.1
Filename: pxelinux.0
Could not start download: Operation not supported (http://ipxe.org/3c092003)
No more network devices
我尝试用谷歌搜索 err:3c092003 并看到文章建议:
Features: DNS TFTP HTTP PXE PXEXT Menu
了这样的情况(HTTP 是在列表中)任何帮助将不胜感激!
更新:
我在 macOS 大苏尔
VirtualBox 版本 6.1.28 r147628 (Qt5.6.3)
VM A 和 B 使用 Debian 3.16.7-ckt20-1+deb8u3
在 PXE 引导系统时,它会在 PXE 服务器上查找 UUID 文件。如果找到,则相应地进行。Else System 等待 2 分钟,然后开始在 PXE 服务器上查找 MacID 文件。
有没有办法设置这个文件搜索时间?
更新 1: 底层 pxe 引导加载程序是 PXELINUX
我试图了解绑定的反向 dns 实现。在我的实验室设置中,我有一个配置了 dns 的 pxe 服务器。它有 21.168.192.in-arpa.arpa 反向查找区域文件。我正在使用工头来部署远程机器。我的工头服务器的 ip 是 192.168.21.1/20。如果我在工头中创建任何主机,它会在 db 文件中创建反向查找条目。如果我尝试在第三个八进制 ex-192.168.22.101 中将 ip 分配给我的客户端而不是 21,则工头显示反向 dns 错误。我对此的理解是工头无法找到数据库文件 22.168.192.in-arpa.arpa 并显示错误。是我的配置不对。我应该使用网络 ID 创建 db 文件还是必须为每个范围创建单独的文件。
我正在尝试使用 ipxe 自动安装 debian buster,似乎引导参数在 ipxe 菜单中不起作用。我总是得到语言部分。所以preseed没有加载。这是 ipxe 菜单中的相关条目:
:d10-dc-node
set base-url https://d-i.debian.org/daily-images/amd64/daily/netboot/debian-installer/amd64
kernel ${base-url}/linux
initrd ${base-url}/initrd.gz
imgargs linux vga=normal root=/dev/ram rw preseed/url=tftp://my.ipxe.server/preseed/debian_buster_node.seed netcfg/choose_interface=eno1 debian-installer/framebuffer=false debian-installer/locale=en_US kbd-chooser/method=us auto-install/enable=true debconf/frontend=noninteractive debconf/priority=critical console-setup/ask_detect=false keyboard-configuration/modelcode=pc105 keyboard-configuration/layoutcode=us keyboard-configuration/variant=USA hostname=ubuntu ---
这是预播部分:
### Keyboard
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/layout select USA
d-i keyboard-configuration/variant select USA
d-i keyboard-configuration/modelcode string pc105
d-i keyboard-configuration/xkb-keymap select en
d-i keyboard-configuration/layout string English
### Locales
d-i debian-installer/country string DE
d-i debian-installer/language string en
d-i debian-installer/locale string en_US.UTF-8
d-i localechooser/supported-locales multiselect en_US.UTF-8, de_DE.UTF-8
当我尝试将 base-url 设置为http://ftp.de.debian.org/debian/dists/buster/main/installer-amd64/current/images/netboot/debian-installer/amd64
它在加载模块之前工作正常,然后我收到以下错误:"No kernel modules were found"
我猜这是因为不同的内核版本。