Guide to setup pxe boot of OPA.
1. In the client, you need install the latest driver and firmware. Meantime make sure the UEFI PXE function is enabled in bios.
2. In the server.
[1] The IFS package contains the HFI driver and the required IP over IB software stack. It also optionally installs a Fabric Manager (FM). The FM should be installed for the
Intel® Omni-Path Boot client to be fully initialized.
In order to boot over Intel®Omni-Path, the following requirements must be met:
1) The Intel®Omni-Path Fabric Manager software must be running.
Use the command:
service opafm start
2) The HFI driver (hfi1) and IP over Infiniband modules must be running. Use the
Use the command:
modprobe hfi1
modprobe ib_ipoib
[2] DHCP
/etc/dhcp/dhcpd.conf
# # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.example # see dhcpd.conf(5) man page # option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; allow booting; allow bootp; subnet 192.168.50.0 netmask 255.255.255.0 { range 192.168.50.120 192.168.50.150; option subnet-mask 255.255.255.0; option broadcast-address 192.168.50.255; option routers 192.168.50.254; next-server 192.168.50.101; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; if option architecture-type = 00:07 { #filename "uefi/shim.efi"; #filename "uefi/grubx64.efi"; filename "uefi/bootx64.efi"; } else { filename "pxelinux/pxelinux.0"; } } } |
Start DHCP server:
systemctl status dhcpd.service
systemctl start dhcpd.service
systemctl enable dhcpd.service
[3] Network interface
Make sure client can ping sucessfully to the server through opa.
Enable the ib0:
ifup ib0
Maybe need set up the ib0 ip address.
ifconfig ib0 192.168.50.101 netmask 255.255.255.0 up
[4] TFTP server
yum install tftp-server
yum install xinetd
Add TFTP configuration as below. /etc/xinetd.d/tftp
service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /var/lib/tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } |
systemctl status xinetd.service
systemctl start xinetd.service
systemctl enable xinetd.service
systemctl status tftp.service
systemctl start tftp.service
systemctl enable tftp.service
[5] PXE server
mkdir /var/lib/tftpboot/uefi
cp following files into this directory.
bootx64.efi | https://sourceforge.net/projects/elilo/files/elilo/ elilo-3.16-x86_64.efi renamed to -> bootx64.efi |
elilo.conf | Refer to following script |
textmenu-message | https://sourceforge.net/projects/elilo/files/elilo/ elilo-3.16-source/examples/textmenu_chooser/textmenumessage.msg |
vmlinuz | rhel73_cd/images/pxeboot/vmlinuz |
initrd_opa | rhel73_cd/images/pxeboot/initrd.img This initrd.img doesn't contain inbox opa driver, need to be rebuilt. |
chooser=textmenu message=textmenu-message.msg prompt delay=20 default=rhel73 image=vmlinuz label=rhel73 description = "RHEL 73" initrd=initrd_opa.img append="inst.repo=ftp://192.168.50.101/pub/cd_rhel73" read-only |
[6] FTP server
1.copy Linux CD to /var/ftp/pub
cp -r ~/Desktop/rhel73_CD /var/ftp/pub/
2.enable ftp
systemctl status vsftpd.service
systemctl start vsftpd.service
systemctl enable vsftpd.service
3.check whether ftp service is available in server.
test Firefox in server:
ftp://127.0.0.1
pub/redhat73_cd
[7] Boot from OmniPath
See the log.
tail -f /var/log/messages
tcpdump -i ib0 tcp port 69 //eno1 is your PXE boot port