Boot issues encountered on RHEL 8.10 provisioned by Satellite 6.15 server
Environment
- Red Hat Satellite 6.15
Issue
- After being deployed via PXE from the Red Hat Satellite server, the first reboot of the provisioned system goes correctly as expected because it boots the local HDD. However, any subsequent reboot thereafter results in no boot at all (as if the HDD is not detected after the PXE timeout), and the system is stuck there.
Resolution
-
This issue has been reported to Red Hat Satellite Engineering team in This content is not included.
grub.cfggenerated by Red Hat Satellite server causes boot issues during chainloading and a fix has been implemented in Red Hat Satellite 6.18, which has been released based on RHSA-2025:19721 - Security Advisory. -
As a workaround, manually modify the BIOS/EFI boot order configuration by selecting HDD as the first boot device.
For more KB articles/solutions related to Red Hat Satellite 6.x Provisioning Issues, please refer to the Consolidated Troubleshooting Article for Red Hat Satellite 6.x Provisioning related Issues
Root Cause
In the grub.cfg file generated by Satellite, there is a search for shimx64.efi in various places, depending on the operating system, for example:
39 menuentry 'Chainload Grub2 EFI from ESP' --id local_chain_hd0 {
40 echo "Chainloading Grub2 EFI from ESP, enabled devices for booting:"
41 ls
42 echo "Trying /EFI/fedora/shim.efi "
43 unset chroot
44 # add --efidisk-only when using Software RAID
45 search --file --no-floppy --set=chroot /EFI/fedora/shim.efi
46 if [ -f ($chroot)/EFI/fedora/shim.efi ]; then
There is also a RHEL snippet in the file:
63 unset chroot
64 # add --efidisk-only when using Software RAID
65 search --file --no-floppy --set=chroot /EFI/redhat/shim.efi
66 if [ -f ($chroot)/EFI/redhat/shim.efi ]; then
67 chainloader ($chroot)/EFI/redhat/shim.efi
68 echo "Found /EFI/redhat/shim.efi at $chroot, attempting to chainboot it..."
69 sleep 2
70 boot
71 fi
72 echo "Trying /EFI/redhat/grubx64.efi "
73 unset chroot
74 # add --efidisk-only when using Software RAID
75 search --file --no-floppy --set=chroot /EFI/redhat/grubx64.efi
76 if [ -f ($chroot)/EFI/redhat/grubx64.efi ]; then
77 chainloader ($chroot)/EFI/redhat/grubx64.efi
78 echo "Found /EFI/redhat/grubx64.efi at $chroot, attempting to chainboot it..."
79 sleep 2
80 boot
81 fi
The searching is not for the proper Shim executable, which is /EFI/redhat/shimx64.efi, not /EFI/redhat/shim.efi.
Then, depending on the hardware, especially with PXE boots, it is necessary to make sure that the EFI firmware initializes the entire SCSI chain, or else it may see the files but not read them. This is done by uncommenting line 37:
25 echo "VMWare hosts with QuickBoot feature enabled may not find the local ESP"
26 echo "partition due to not initializing all the EFI devices. To workaround, upgrade"
27 echo "to the latest grub2 (*) and uncomment "connectefi scsi" statement in the"
28 echo "grub2_chainload template."
29 echo
30 echo "Virtual or physical hosts using Software RAID for the ESP partition may try"
31 echo "booting on the Software RAID, which will fail. To workaround, upgrade to the"
32 echo "latest grub2 (*) and add "--efidisk-only" argument to the "search" command in"
33 echo "the grub2_chainload template."
34 echo
35 echo "(*) grub2-efi-x64-2.02-122.el8 (upstream doesn't have the patches yet)"
36 echo
37 #connectefi scsi
Diagnostic Steps
-
Verify whether the BIOS/EFI boot order configuration is configured with PXE as the first boot device and HDD as the second.
-
Grab the PXE snippet from the Satellite server used for provisioning for review. It should be a
grub.cfgfile on the PXE server (or agrub.cfg-xxxmachine specific file).
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.