The grub2-mkimage tool can be used for building custom images for various
platforms and architectures. But it needs modules for that specific target.
The x86_64-xen target is for PV guest type, the i386-xen_pvh is for PVH
guest type (even for x86_64).
Signed-off-by: Matyáš Kroupa <kroupa.matyas@gmail.com>
Signed-off-by: Nicolas Frayer <nfrayer@redhat.com>
Removes the logic to search for a distro release version based on the --dist
argument and instead makes this as required parameter provided by the
user, reducing code size considerably as the expense of letting the user
responsibility to define it. The --dist argument was also used as branch
name in some cases (where --dist was not defined) so this change splits the
original parameter semantic in two: one for defining the distro release
version (--dist) and another to define the branch name (--branch). Finally, a
short README with single scenario as example.
Signed-off-by: Leo Sandoval <lsandova@redhat.com>
nx_required was initialized to 0 but was never assigned
a value. Call grub_efi_check_nx_required() to solve this.
Signed-off-by: Nicolas Frayer <nfrayer@redhat.com>
Although this patch is correct and at some point it will be
re-introduced, currently shim does not support the loader protocol so
drop it in the meanwhile.
Signed-off-by: Leo Sandoval <lsandova@redhat.com>
When upgrading from <=2.06-126 to newer versions, the grub config stub
may have different mode than 0600, so set the latter if this is the case.
Signed-off-by: Leo Sandoval <lsandova@redhat.com>
Fix the rpm verificaton issues (see below) introduced in 2.06.123 [1].
On the other hand, 2.06.125 [2] introduced a change on grub2-mkconfig where
it prevents overwritting {EFI_HOME}/grub.cfg with side effects on the
%posttrans spec script, where it tries to recreate it in case this
file does not exist but due to [2] the {EFI}/grub.cfg file is never
created. Fix the %posttrans code with the logic but applied to
{GRUB_HOME}/grub.cfg.
Issue detected on RHEL CI but also reproduced on fedora since
2.06.123, where this change fixes it.
$ rpm -Vqa
.
.
.M....... c /boot/grub2/grub.cfg
.M....... c /boot/efi/EFI/fedora/grub.cfg
.M....... c /boot/grub2/grub.cfg
.M....... c /boot/efi/EFI/fedora/grub.cfg
.M....... c /boot/grub2/grub.cfg
[1] a137559e71
[2] f28d50ee44
Signed-off-by: Leo Sandoval <lsandova@redhat.com>
xz decompression is very slow and slows down boot by around 5 seconds on
aarch64/Apple M1 when using the default font. Switch to lzop, which
takes less than one second to uncompress.
This increases EFI core image size by around 11%.
Signed-off-by: Hector Martin <marcan@marcan.st>
When installing grub2-tools grub2-tools-minimal is pulled in which
obsoletes grub2-tools causing grub2-tools to not get installed.
Remove the obsoletes so that grub2-tools can be installed again.
Signed-off-by: Daan De Meyer <daan.j.demeyer@gmail.com>
Fix enablement of grub services and timer:
- Switch back to static enablement for grub services in tools package
- Add %%triggerpostun to apply grub-boot-success.timer preset
when upgrading from older versions where this was not a preset
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2247635
Signed-off-by: Christian Glombek <cglombek@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
8800efcb0b replaced '-a' with '--preserve=timestamps' to avoid
preserving ownership information on non vfat file systems. This breaks
copying of the 'dtb' directory on aarch64 systems since '-a' implies
'-r'. Add '-r' to the single place where 'dtb/' is copied to /boot.
Resolves: #2243060
Fixes: 8800efcb0b ("Do not preserve ownership or xattrs on copied files")
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Nicolas Frayer <nfrayer@redhat.com>
The mkbls() function would write 'linux /vmlinuz-${kernelver}' into the boot
loader entry. But the code that actually copies the file would use the original
file name with a version suffix ('cp -aT "$i" "/boot/${i##*/}-${KERNEL_VERSION}"').
In case of a local kernel build calling /sbin/installkernel this file name was
e.g. 'bzImage', so we would end up with '/bzImage-${KERNEL_VERSION}', which of
course doesn't match '/vmlinuz-*'. The script would later call 'grub2-mkrel'
on the name taken from the boot entry which would fail because the file does not
exist. Rename the argument to "vmlinuz", so that both parts match.
Tested by doing a local kernel build with 'sudo make install' at the end.
Signed-off-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>