Why is x86_64-efi installed into /usr/share rather than /usr/lib?

Is there any explanation for why x86_64-efi is installed into /usr/share rather than /usr/lib as some distros do e.g. Gentoo.

According to the FHS 4.11. /usr/share : Architecture-independent data
“Note, however, that /usr/share is generally not intended to be shared by different OSes or by different releases of the same OS.”

No issue, just want to understand.

Would it be ok to symlink /usr/lib/grub2 to /usr/share/grub2 ?

https://software.opensuse.org/package/grub2-x86_64-efi

/usr/share/efi
/usr/share/efi/x86_64
/usr/share/efi/x86_64/grub.der
/usr/share/efi/x86_64/grub.efi
/usr/share/grub2/x86_64-efi
:
/usr/share/grub2/x86_64-efi/zstd.mod

293 files total

@cartland See the changelog…

Wed Jan 23 10:44:09 UTC 2019 - rw@suse.com

- Build platform-packages 'noarch' and move to '/usr/share/efi'
  for SUSE Manager.  (FATE#326960)
1 Like

ok or bad idea?

@cartland Probably a bad idea, it is a noarch (Architecture-independent) package.

1 Like

Because the architecture of grub is completely unrelated to the architecture of the system. The grub binaries are not executed in the running system and so do not need to match its architecture, they are just opaque data. I can create grub image for any architecture on any system; I can install grub binaries on ESP from any system, and architecture of the system does not need to match the architecture of the EFI (32 bit EFI vs. 64 bit system being the most common case).

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.