固件平台设置¶
名称¶
platform
详细信息¶
| 类型 | 字符串 |
|---|---|
| DHCP 选项编号 | 不适用 |
| ISC dhcpd 语法 | 不适用 |
示例¶
显示固件平台¶
iPXE> show platform
builtin/platform:string = pcbios
测试当前平台是否为 (U)EFI¶
iseq ${platform} efi && goto is_efi || goto not_efi
描述¶
指明 iPXE 运行所在的固件平台。可能的值有:
pcbios |
标准 PC BIOS |
|---|---|
efi |
(U)EFI |
linux |
Linux(仅用于开发和测试目的) |
另请参阅¶
buildarch- 全部 iPXE 设置列表
备注¶
如果你使用 ISC dhcpd 这样功能较强的 DHCP 服务器,可以利用 DHCP 请求的内容来区分 BIOS 和 EFI 客户端。DHCP Client Architecture 选项(代码 93)会按 RFC 4578 的规定标明客户端架构:
| DHCP 选项 93 | 客户端架构 |
|---|---|
| 0 | 标准 PC BIOS |
| 6 | 32 位 x86 EFI |
| 7 | 64 位 x86 EFI |
| 9 | 64 位 x86 EFI(已过时) |
| 10 | 32 位 ARM EFI |
| 11 | 64 位 ARM EFI |
你可以用它来决定向特定客户端提供哪个版本的 iPXE。例如,在 /etc/dhcpd.conf 中:
option client-arch code 93 = unsigned integer 16;
if exists client-arch {
if option client-arch = 00:00 {
filename "bin/undionly.kpxe";
} elsif option client-arch = 00:06 {
filename "bin-i386-efi/ipxe.efi";
} elsif option client-arch = 00:07 {
filename "bin-x86_64-efi/ipxe.efi";
} elsif option client-arch = 00:09 {
filename "bin-x86_64-efi/ipxe.efi";
} elsif option client-arch = 00:0a {
filename "bin-arm32-efi/ipxe.efi";
} elsif option client-arch = 00:0b {
filename "bin-arm64-efi/ipxe.efi";
}
}