Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

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: NEW --- QA Contact: Release Test Team <release-test-team>
Severity: high Docs Contact: Petr Bokoc <pbokoc>
Priority: high    
Version: 7.4CC: cww, jentrena, knweiss, ovasik, tbowling
Target Milestone: rcKeywords: Reopened
Target Release: ---Flags: pcahyna: needinfo? (cww)
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: 2018-03-21 19:46:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 1594286, 1630910, 1660473, 1492177    

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).