Bug 1493164 - Enable workaround for broken grub2 in RHEL 7.4
Summary: Enable workaround for broken grub2 in RHEL 7.4
Alias: None
Product: Red Hat Satellite
Classification: Red Hat
Component: Installer
Version: Unspecified
Hardware: Unspecified
OS: Unspecified
high vote
Target Milestone: Unspecified
Assignee: Ewoud Kohl van Wijngaarden
QA Contact: Roman Plevka
URL: http://projects.theforeman.org/issues...
Depends On:
Blocks: 1487106
TreeView+ depends on / blocked
Reported: 2017-09-19 13:49 UTC by Lukas Zapletal
Modified: 2019-09-26 16:12 UTC (History)
5 users (show)

Fixed In Version: foreman-installer-1.15.5
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2018-02-21 17:03:17 UTC
Target Upstream Version:

Attachments (Terms of Use)

System ID Private Priority Status Summary Last Updated
Foreman Issue Tracker 21006 0 Normal Closed Enable workaround for broken grub2 in RHEL 7.4 2020-11-16 15:23:04 UTC

Description Lukas Zapletal 2017-09-19 13:49:21 UTC
Grub2 have a regression when MAC-based loading of configs does not work, due to string manipulation in Red Hat patches MAC always ands with ":" or "-" character:

RRQ from filename /grub2/grub.cfg-01-96-48-EE-44-80-43-

The correct path is:

RRQ from filename /grub2/grub.cfg-01-96-48-EE-44-80-43

We file a bug and RH team is going to fix this, but we need a workaround as more and more users are hitting this. In order to have that workaround, we need regexp module which is unfortunately not present in grub2 build. Instead of copying the grub2 from EFI directory, we can refactor our puppet code to build the grub2 like debian does:


Second part is to have regexp in Grub2 Global Template and this is already present in 1.15.4 release, so no action here, only installer change.


This is blocker for ALL Grub2 provisioning, without this change customers are unable to do UEFI provisioning on RHEL 7.4 until errata with new grub2 comes out.


Test UEFI Grub2 provisioning with grub2 from RHEL 7.4 (no updates applied). Notice that it will try to load the incorrect file with "-" at the end, then it loads "grub2.cfg" and from there it loads the correct file via regexp.

Comment 7 Lukas Zapletal 2017-09-26 08:59:34 UTC

/usr/bin/grub2-mkimage -O x86_64-efi -d /usr/lib/grub/x86_64-efi -o /var/lib/tftpboot/grub2/grubx64.efi -p '' all_video boot btrfs cat chain configfile echo efifwsetup efinet ext2 fat font gettext gfxmenu gfxterm gfxterm_background gzio halt hfsplus iso9660 jpeg keystatus loadenv linux lsefi lsefimmap lsefisystab lssal memdisk minicmd normal part_apple part_msdos part_gpt password_pbkdf2 png reboot search search_fs_uuid search_fs_file search_label sleep test true video zfs zfscrypt zfsinfo linuxefi lvm mdraid09 mdraid1x raid5rec raid6rec tftp regexp

Comment 8 Lukas Zapletal 2017-09-26 11:16:33 UTC
QA NOTES: Broken Grub2 7.4 workaround will only work when both of the following Bfs are fixed:


Comment 9 Satellite Program 2017-10-03 16:35:42 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/21006 has been resolved.

Comment 10 Roman Plevka 2017-10-10 12:51:49 UTC
on sat6.3.0-19

the regexp now matches the actual grub config file and grub loads as expected.

Comment 11 Lukas Zapletal 2017-10-18 07:29:57 UTC
Thanks all, Satellite 6.3 now uses bootloaders from our RPM which workarounds the issue with MAC loading in RHEL 7.4

Comment 12 Bryan Kearney 2018-02-21 17:03:17 UTC
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA.

For information on the advisory, and where to find the updated files, follow the link below.

If the solution does not work for you, open a new bug report.


Note You need to log in before you can comment on or make changes to this bug.