Bug 1512493

Summary: grub2-mkimage on fresh UEFI installation fails: cannot open `/usr/lib/grub/x86_64-efi/moddep.lst
Product: Red Hat Enterprise Linux 7 Reporter: Pavel Cahyna <pcahyna>
Component: grub2Assignee: Peter Jones <pjones>
Status: CLOSED WONTFIX QA Contact: Release Test Team <release-test-team-automation>
Severity: high Docs Contact: Petr Bokoc <pbokoc>
Priority: high    
Version: 7.4CC: cww, jentrena, knweiss, ovasik, tbowling
Target Milestone: rcKeywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
The "grub2-mkimage" command fails on UEFI systems by default The "grub2-mkimage" command may fail on UEFI systems with the following error message: error: cannot open `/usr/lib/grub/x86_64-efi/moddep.lst': No such file or directory. This error is caused by a the package _grub2-efi-x64-modules_ package missing from the system. The package is missing due to a known issue where it is not part of the default installation, and it is not marked as a dependency for _grub2-tools_ which provides the "grub2-mkimage" command. The error also causes some other tools which depend on it, such as *ReaR*, to fail. To work around this problem, install the _grub2-efi-x64-modules_, either manually using *Yum*, or by adding it to the Kickstart file used for installing the system.
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-08-27 15:42:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1492177, 1594286, 1630910, 1660473    

Description Pavel Cahyna 2017-11-13 11:04:34 UTC
Description of problem:
On a freshly installed RHEL 7.4 system with UEFI, grub2-mkimage fails to produce an image, with the error message grub2-mkimage: error: cannot open `/usr/lib/grub/x86_64-efi/moddep.lst': No such file or directory.

This file is provided by the grub2-efi-x64-modules package, but this package is not installed by default. If the system is installed directly via uefi, it installs the grub2-pc-modules package instead of the grub2-efi-x64-modules package. Interestingly, grub2-pc does depend on grub2-pc-modules, but grub2-efi does not depend on grub2-efi-modules, nor does grub2-efi-x64 depend on grub2-efi-x64-modules. Why this asymmetry?

This problem prevents ReaR from working out-of-the-box on UEFI systems, see bz1492177

Version-Release number of selected component (if applicable):
grub2-efi-x64-2.02-0.65.el7_4.2.x86_64

How reproducible:
Reproducible on newly installed systems, on systems upgraded from previous releases the grub2-efi-x64-modules package is sometimes present and the command does work, see https://bugzilla.redhat.com/show_bug.cgi?id=1492177#c3

Steps to Reproduce:
1. grub2-mkimage  -O x86_64-efi -p /EFI/BOOT

Actual results:
grub2-mkimage: error: cannot open `/usr/lib/grub/x86_64-efi/moddep.lst': No such file or directory.

Expected results:
Image is produced on stdout, just like in the case of "grub2-mkimage  -O i386-pc -p /boot/grub2" (which works even on an UEFI system, btw).

Comment 7 Tomas Popela 2020-08-27 14:42:50 UTC
Closing the bug as the attached customer case is closed.