- Install grub2-tools on all architectures on CentOS/Fedora instead
of just x86-64.
- Only install grub-pc-bin on x86-64 on Debian/Ubuntu as it is not
available on other architectures
- Install grub-common instead of grub2 as grub-common contains all
the binaries we need and grub2 configures the system to use grub
as the bootloader which we don't want when these packages might be
installed on user's systems via mkosi dependencies.
- Do not install grub2 on OpenSUSE due to the same problem, it
configures the system to use grub as the bootloader which we don't
want. Unfortunately there is no subpackage with only the grub binaries
on OpenSUSE. Reported as https://bugzilla.opensuse.org/show_bug.cgi?id=
1227464.
The tests are changed to not try to build or boot opensuse images
with bios.
[Match]
Architecture=x86-64
+# We cannot install the grub tools in the OpenSUSE tools tree due to
+# https://bugzilla.opensuse.org/show_bug.cgi?id=1227464.
+# TODO: Remove this again when the above bug is resolved.
+ToolsTreeDistribution=!opensuse
[Content]
@BiosBootloader=grub
createrepo_c
dnf-plugins-core
git-core
+ grub2-tools
openssh-clients
policycoreutils
python3-cryptography
debian-archive-keyring
erofs-utils
git-core
- grub2
+ grub-common
libarchive-tools
libcryptsetup12
libtss2-dev
[Content]
Packages=
- grub2-tools
+ grub-pc-bin
git-core
glibc-gconv-modules-extra
grep
- grub2
openssh-clients
ovmf
patterns-base-minimal_base
| `findutils` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| `git` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| `grep` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+ | `grub-tools` | ✓ | ✓ | ✓ | ✓ | ✓ | |
| `jq` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| `kmod` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| `less` | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
if have_vmspawn() and format in (OutputFormat.disk, OutputFormat.directory):
image.vmspawn(options=options)
- if format != OutputFormat.disk:
+ # TODO: Remove the opensuse check again when https://bugzilla.opensuse.org/show_bug.cgi?id=1227464 is resolved
+ # and we install the grub tools in the openSUSE tools tree again.
+ if format != OutputFormat.disk or config.tools_tree_distribution == Distribution.opensuse:
return
image.qemu(options=options + ["--qemu-firmware=bios"])
if config.distribution == Distribution.rhel_ubi:
return
+ # TODO: Remove this again when https://bugzilla.opensuse.org/show_bug.cgi?id=1227464 is resolved and we install
+ # the grub tools in the openSUSE tools tree again.
+ if bootloader == Bootloader.grub and config.tools_tree_distribution == Distribution.opensuse:
+ return
+
firmware = QemuFirmware.linux if bootloader == Bootloader.none else QemuFirmware.auto
with Image(