On 10/21/2015 07:25 PM, Grant Street wrote:
Just wondering if anyone has any experience setting up a net boot server that can be used to kickstart EFI machines?
Yep.
In ISC dhcpd.conf, use:
next-server config.example.com; if option architecture-type = 00:07 { filename "shim.efi"; } else { filename "pxelinux.0"; }
Then, in your tftp server you'll need 3 files from the shim and grub2-efi packages. I used this script:
--- #!/bin/sh
wget http://centos.s.uw.edu/centos/7/os/x86_64/Packages/shim-0.7-5.2.el7.centos.2...
wget http://centos.s.uw.edu/centos/7/os/x86_64/Packages/grub2-efi-2.02-0.16.el7.c...
mkdir tmp
rpm2cpio shim-0.7-5.2.el7.centos.2.x86_64.rpm | (cd tmp && cpio -ivd) rpm2cpio grub2-efi-2.02-0.16.el7.centos.x86_64.rpm | (cd tmp && cpio -ivd)
cp tmp/boot/efi/EFI/centos/shim.efi ../ cp tmp/boot/efi/EFI/centos/grubx64.efi ../ cp tmp/boot/efi/EFI/centos/fonts/unicode.pf2 ../grub/fonts/
rm tmp -rf ---
Configuration files are in EFI/centos (relative to the TFTP root) rather than pxelinux.cfg. They're named grub.cfg-01-<mac>, and use grub syntax rather than isolinux syntax.
A simple example:
--- set timeout=600 set default=0
menuentry "localboot" { insmod chain set root=(hd0) chainloader +1 }
menuentry "c7" { linuxefi /c7/vmlinuz ks=http://config.example.com/kickstart/c7s ksdevice=eth0 net.ifnames=0 biosdevname=0 initrdefi /c7/initrd.img } ---