View Issue Details

IDProjectCategoryView StatusLast Update
0017198CentOS-8anacondapublic2020-03-31 18:44
Reporterfassl 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version8.1.1911 
Target VersionFixed in Version 
Summary0017198: Wrong grub2-efi-ARCH-modules package installed during installation on x86_64 architecture
DescriptionWhen installing the x86_64 ISO in an EFI-enabled host grub2-pc-modules get
installed instead of grub2-efi-modules. When you try to explicitly install
grub2-efi-modules either via kickstart or in the shell of the troubleshooting
terminal dnf falsely chooses grub2-efi-aa64-modules. This behaviour is
different than what happens when you try to do so in the installed system,
there the correct package gets chosen.
Steps To Reproduce* Boot into the Rescue option of the ISO.
* ALT+TAB to get into shell or wait for the option 3)
* # setup networking
  # ncmli connection up enp0s3
* # setup keymap to not get insane
  # localectl set-keymap at
* # prepare overlayfs
  mkdir /tmp/upper /tmp/work /tmp/root
  mount -t overlay overlay -o lowerdir=/,upperdir=/tmp/upper,workdir=/tmp/work /tmp/root
* # chroot into write enabled overlay of root
  chroot /tmp/root
* # Prepare YUM repo
  mkdir /etc/yum.repos.d
  cat << EOF > /etc/yum.repos.d/CentOS-Base.repo
[BaseOS]
name=CentOS-\$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=\$releasever&arch=\$basearch&repo=BaseOS&infra=\$infra
#baseurl=http://mirror.centos.org/\$contentdir/\$releasever/BaseOS/\$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
EOF
* # need some DNS server
  echo "nameserver 1.1.1.1" > /etc/resolv.conf
* # try to install grub2-efi-modules
  dnf install --releasever=8 grub2-efi-modules
* # Take a look at the dnf output
TagsNo tags attached.

Activities

fassl

fassl

2020-03-30 01:45

reporter  

fassl

fassl

2020-03-31 18:44

reporter   ~0036629

So the problem was building the packages named grub2-efi-${efiarch}-modules with BuildArch set to noarch.
This lead to libsolv returning the first match alphabetically and in turn installing grub2-efi-aa64-modules instead
of grub2-efi-x64-modules. Attached are libsolv testcases to show this behaviour.

Why the other architectures get even built is not really clear to me, is there any reason?

I removed the ${efiarch} from the package names and removed the building of the other architectures and it solved the problem.

You can find the diff here if it is of any interest or use: https://github.com/pfandl/centos-grub2/commit/12b2fe7fb46054283db0c70cfb2fbefe8eb2da07

best regards

all_noarch.t (1,018 bytes)
x86_64.t (1,078 bytes)
ya64.t (1,018 bytes)

Issue History

Date Modified Username Field Change
2020-03-30 01:45 fassl New Issue
2020-03-30 01:45 fassl File Added: centos-efi-modules-bug.PNG
2020-03-31 18:44 fassl File Added: all_noarch.t
2020-03-31 18:44 fassl File Added: x86_64.t
2020-03-31 18:44 fassl File Added: ya64.t
2020-03-31 18:44 fassl Note Added: 0036629