Project

General

Profile

Actions

Feature #12635

closed

Options to deploy Grub and PXELinux EFI loaders in TFTP root

Added by Lukas Zapletal over 8 years ago. Updated almost 6 years ago.

Status:
Closed
Priority:
Normal
Category:
Foreman modules
Target version:
Fixed in Releases:
Found in Releases:

Description

It looks like Grub2 is the best and most compatible way of PXE booting EFI hardware and it is available in most Linux distributions. It makes sense to provide support in our Puppet classes and installer to deploy these.

Puppet changes as follows:

if RHEL6 or Fedora 18 or older is found then
install grub package
create /var/lib/tftproot/grub/
copy /boot/efi/EFI/*/grub.efi to /var/lib/tftproot/grub/grubx64.efi
create a relative symlink shim.efi to /var/lib/tftproot/grub/grubx64.efi
ensure correct file permissions and SELinux context

if RHEL7 or Fedora 19 or newer is found then
install packages: grub2-efi grub2-efi-modules grub2-tools shim
create /var/lib/tftproot/grub2/
copy /boot/efi/EFI/*/shim.efi to /var/lib/tftproot/grub2/shim.efi
build grub2 with all modules with: grub2-mkimage -O x86_64-efi -d /usr/lib/grub/x86_64-efi -o /var/lib/tftproot/grub2/grubx64.efi -p "" `find /usr/lib/grub/x86_64-efi/*.mod -printf "%f " | sed -e 's/\.mod//g'` (X)
ensure correct file permissions and SELinux context

if Debian or Ubuntu is found then
install packages: grub-common grub-efi-amd64-bin
create /var/lib/tftproot/grub2/
build grub2 with all modules with: grub-mkimage -O x86_64-efi -d /usr/lib/grub/x86_64-efi -o /var/lib/tftproot/grub2/grubx64.efi -p "" `find /usr/lib/grub/x86_64-efi/*.mod -printf "%f " | sed -e 's/\.mod//g'` (X)
create a relative symlink shim.efi to /var/lib/tftproot/grub/grubx64.efi
ensure correct file permissions

I have only tested this with latest LTS Ubuntu and Debian Jessie (8)

(X) - this command could be extracted to a helper script


Related issues 4 (0 open4 closed)

Related to Foreman - Tracker #431: [TRACKER] UEFI PXE supportResolvedLukas Zapletal

Actions
Related to Installer - Feature #14920: Change dhcpd.conf to support EFI loadersClosed05/04/2016Actions
Related to Katello - Bug #16820: Upgrading Katello 3.1 to 3.2 Error with /usr/bin/grub2-mkimageDuplicate10/06/2016Actions
Related to Installer - Bug #16705: grubx64.efi fails to boot with Secure BootClosedLukas Zapletal09/27/2016Actions
Actions

Also available in: Atom PDF