iPXE的Build-up請參考iPXE官網。
iPXE選單的設定,請參考之前寫的:https://jiruiwu.pixnet.net/blog/post/356092933
DHCP config 這邊跟標準PXE設定一樣,Config包含這些內容
舉例:
option architecture-type code 93 = unsigned integer 16;
subnet 192.168.0.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.0.100 192.168.0.254;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
class "pxeclients" {
match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
# PXE servers hostname or IP address
# next-server pxe.jiruiwu.tpe;
next-server 192.168.0.10;
if option architecture-type = 00:07 {
filename "BOOTX64.EFI";
}
else {
filename "pxelinux.0";
}
}
}
[UEFI] PXE的grub config(E.g.: /var/lib/tftpboot/grub.cfg)設定如下
menuentry "iPXE - IPv4 (If BIOS boot PXE by IPv4)" {
set root=(http,192.168.0.5)
chainloader /media/ipxe.efi /media/boot.ipxe
}
menuentry "iPXE - IPv6 (IF BIOS boot PXE by IPv6)" {
set root=(http,[2020:db8:ffff:9999::5])
chainloader /media/ipxe.efi /media/boot.ipxe
}
運作流程是 UEFI Boot --> LAN PXE Boot--> TFTP boot --> bootx64.efi
--> TFTP boot --> Bootloader (General Linux Bootloader. E.g.: grub.efi / grub.cfg)
--> Chain load to another Bootloader: iPXE
--> Chain load to WDS(wdsmgfw.efi)
•Q1: Why not chain load WDS from the Bootloader grub.efi?
Ans: General Linux grub.efi doesn't support execute WDS loader.
•Q2: Why not using iPXE directly?
Ans: In my experience. Under some situation, iPXE can't boot the correct NIC port/card which is selected in BIOS Boot Menu.
Especially SUT with multi-NIC ports and not all of them with cable connected and all of network with network boot services.
