5.2. 从 PXELinux 启动 iPXE
使用此流程将 iPXE 设置为使用内置驱动程序进行网络通信或 UNDI 接口。要将 HTTP 与 iPXE 搭配使用,请使用带有内置驱动程序的 iPXE 构建(ipxe.lkrn
)。通用网络设备接口(UNDI)是一个最小的 UDP/IP 堆栈,它实现了 TFTP 客户端,但不支持 HTTP (undionly-ipxe.0
)等其他协议。根据网络硬件功能和 iPXE 驱动程序提供的功能,您可以选择加载 ipxe.lkrn
或 undionly-ipxe.0
文件。
直接或使用 UNDI 工作流进行链启动 iPXE
- 主机电源
- PXE 驱动程序使用 DHCP 检索网络凭证
-
PXE 驱动程序使用 TFTP 检索 PXELinux 固件
pxelinux.0
- PXELinux 在 TFTP 服务器上搜索配置文件
-
PXELinux chainloads iPXE
ipxe.lkrn
或undionly-ipxe.0
- iPXE 再次使用 DHCP 检索网络凭证
- iPXE 使用 DHCP 检索 HTTP 地址
- iPXE 链从模板胶囊加载 iPXE 模板
- iPXE 加载安装程序的内核和初始 RAM 磁盘
配置红帽卫星服务器以使用 iPXE
您可以使用默认模板为主机配置 iPXE 引导。如果要更改模板中的默认值,请克隆模板并编辑克隆。
- 在 Satellite Web UI 中,导航到 Hosts > Provisioning Templates。
-
输入
PXELinux chain iPXE
以使用ipxe.lkrn
或 BIOS 系统,输入PXELinux chain iPXE UNDI
以使用undionly-ipxe.0
,然后点 Search。 - 可选:如果要更改模板,点 Clone,输入唯一名称,点 Submit。
- 点击您要使用的模板的名称。
- 如果克隆模板,您可以在 Template 选项卡中进行更改。
- 单击 关联 选项卡,再选择您的主机使用的操作系统。
- 单击位置选项卡,再添加主机所在的位置。
- 单击 Organizations 选项卡,再添加主机所属的组织。
- 单击 Submit 以保存更改。
-
在 Provisioning Templates 页面中,在搜索字段中输入
Kickstart default iPXE
,然后单击 Search。 - 可选:如果要更改模板,点 Clone,输入唯一名称,点 Submit。
- 点击您要使用的模板的名称。
- 如果克隆模板,您可以在 Template 选项卡中进行更改。
- 点 关联 选项卡,并将模板与主机使用的操作系统相关联。
- 单击位置选项卡,再添加主机所在的位置。
- 单击 Organizations 选项卡,再添加主机所属的组织。
- 单击 Submit 以保存更改。
- 进入 Hosts > Operating systems 并选择您的主机操作系统。
- 点 Templates 选项卡。
- 从 PXELinux template 列表中,选择您要使用的模板。
- 从 iPXE 模板 列表中,选择您要使用的模板。
- 单击 Submit 以保存更改。
- 导航到 Hosts > All Hosts,然后选择要使用的主机。
- 选择 Operating System 选项卡。
-
将 PXE Loader 设置为 PXELinux BIOS 以通过 PXELinux 或 iPXE Chain BIOS 串联 iPXE,以直接加载
undionly-ipxe.0
。 - 选择 Templates 选项卡,从 PXELinux template 列表中选择 Review,以验证模板是否正确。
- 从 iPXE 模板 列表中,选择 Review 来验证模板是否正确。如果没有 PXELinux 条目,或者您无法找到新模板,请导航到 Hosts > All Hosts,然后在您的主机上点击 Edit。单击 Operating system 选项卡,再单击 Provisioning Template Resolve 按钮来刷新模板列表。
配置
dhcpd.conf
文件,如下所示:if exists user-class and option user-class = "iPXE" { filename "http://capsule.example.com:8000/unattended/iPXE?bootstrap=1"; } # elseif existing statements if non-iPXE environment should be preserved
注意如果您使用
--foreman-proxy-http-port
安装程序选项更改端口,请使用您的自定义端口。每次升级后,您必须更新/etc/dhcp/dhcpd.conf
文件。