Hello All Up until now we have been using standard PXE boot to do kick start installs of centos boxes. With recent machines however they come by default as EFI boot. We can set them to legacy but I would like to solve this before this option goes away. Just wondering if anyone has any experience setting up a net boot server that can be used to kickstart EFI machines? Thanks Grant
On 22/10/2015 03:25, Grant Street wrote:> Hello All > > > Up until now we have been using standard PXE boot to do kick start installs of centos boxes. With recent machines however they come by default as EFI boot. We can set them to legacy but I would like to solve this before this option goes away. > > > Just wondering if anyone has any experience setting up a net boot server that can be used to kickstart EFI machines? > > > Thanks > > > GrantHi Grant, As a guess it is due to the partition scheme you are using in your kickstart (this was the issue for me at least) Try something like part /boot --fstype="xfs" --fsoptions="nodev,noexec,nosuid" --size=500 --ondisk=sda part /boot/efi --fstype="efi" --size=200 --ondisk=sda Along with your other mount points etc. Tris ************************************************************* This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify postmaster at bgfl.org The views expressed within this email are those of the individual, and not necessarily those of the organisation *************************************************************
On Thu, Oct 22, 2015 at 02:25:21AM +0000, Grant Street wrote:> Hello All > Up until now we have been using standard PXE boot to do kick start > installs of centos boxes. With recent machines however they come by > default as EFI boot. We can set them to legacy but I would like to > solve this before this option goes away. > > Just wondering if anyone has any experience setting up a net boot > server that can be used to kickstart EFI machines?In my experience, getting our HP workstations to PXE boot from the UEFI ipv4 network boot took some extra work. I have dnsmasq installed on the PXE/TFTP server. Our PXE server is not the DHCP server for the environment. The central DHCP system is configured to have our PXE server's IP as the "next-server", and the file name as "/uefi/bootx64.efi". I set up TFTP to serve out the bootx64.efi (which is just the GRUB2 EFI executable). The tricky part is that for whatever reason, our UEFI PXE boot firmware requires that the next-server that handles the TFTP requests also answer Proxy DHCP requests. I ended up having a dnsmasq configuration that looked like this: # Limit DHCP server to only handle proxy-dhcp dhcp-range=<IP OF THIS SERVER>,proxy dhcp-alternate-port=4011,4011 log-dhcp dhcp-boot=pxelinux.0 dhcp-match=set:efi-x86_64,option:client-arch,7 dhcp-boot=tag:efi-x86_64,/uefi/bootx64.efi #disable DNS port=0 Then I have a /grub/grub.cfg installed at the root of my TFTP directory, which the bootx64.efi reads from once it has been downloaded and executed. I'm not certain *why* uefi requires proxy-dhcp, it might be an artifact of how our DHCP service runs or it might be a requirement for UEFI netbooting on our hardware. Also, in my experience, it doesn't actually care what my dnsmasq server says for dhcp-boot (I've tried alternate executables), because it uses the filename from the original DHCP request. But it wouldn't boot without getting an answer from the proxy-dhcp server. -- Jonathan Billings <billings at negate.org>
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.x86_64.rpm wget http://centos.s.uw.edu/centos/7/os/x86_64/Packages/grub2-efi-2.02-0.16.el7.centos.x86_64.rpm 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 } ---
----- Original Message ----- | Hello All | | | Up until now we have been using standard PXE boot to do kick start installs | of centos boxes. With recent machines however they come by default as EFI | boot. We can set them to legacy but I would like to solve this before this | option goes away. | | | Just wondering if anyone has any experience setting up a net boot server that | can be used to kickstart EFI machines? | | | Thanks | | | Grant We use iPXE to boot the kernel and initrd files directly from our mirror. It was pretty much dead simple to do too. No need for unpacking RPMS or placing files on our TFTP server (other than iPXE) -- James A. Peltier IT Services - Research Computing Group Simon Fraser University - Burnaby Campus Phone : 604-365-6432 Fax : 778-782-3045 E-Mail : jpeltier at sfu.ca Website : http://www.sfu.ca/itservices Twitter : @sfu_rcg Powering Engagement Through Technology