Update patches; minor changes at most, if correct

Signed-off-by: Robbie Harwood <rharwood@redhat.com>
This commit is contained in:
Robbie Harwood 2022-01-17 23:06:55 +00:00
parent b256068060
commit e602a0629d
196 changed files with 427 additions and 810 deletions

View File

@ -164,15 +164,30 @@ following branches:
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1347291
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Also:
commit cc06f149fbd2d8c1da1e83173d21629ba97e0d92
Author: Raymund Will <rw@suse.com>
chainloader: Define machine types for RISC-V
The commit "Add secureboot support on efi chainloader" didn't add machine
types for RISC-V, so this patch adds them.
Note, that grub-core/loader/riscv/linux.c is skipped because Linux is not
supported yet. This patch might need a new revision once that's the case.
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
---
grub-core/kern/efi/efi.c | 14 +-
grub-core/loader/arm64/linux.c | 4 +-
grub-core/loader/efi/chainloader.c | 816 +++++++++++++++++++++++++++++++++----
grub-core/loader/efi/chainloader.c | 820 +++++++++++++++++++++++++++++++++----
grub-core/loader/efi/linux.c | 25 +-
grub-core/loader/i386/efi/linux.c | 17 +-
include/grub/efi/linux.h | 2 +-
include/grub/efi/pe32.h | 52 ++-
7 files changed, 840 insertions(+), 90 deletions(-)
7 files changed, 844 insertions(+), 90 deletions(-)
diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
index 35b8f670602..4a2259aa1c7 100644
@ -226,7 +241,7 @@ index a312c668685..04994d5c67d 100644
grub_error (GRUB_ERR_INVALID_COMMAND, N_("%s has invalid signature"), argv[0]);
goto fail;
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
index 2bd80f4db3d..b54cf6986fc 100644
index 2bd80f4db3d..e6a8d4ad0e9 100644
--- a/grub-core/loader/efi/chainloader.c
+++ b/grub-core/loader/efi/chainloader.c
@@ -32,6 +32,8 @@
@ -261,7 +276,7 @@ index 2bd80f4db3d..b54cf6986fc 100644
grub_dl_unref (my_mod);
return GRUB_ERR_NONE;
@@ -213,20 +221,690 @@ make_file_path (grub_efi_device_path_t *dp, const char *filename)
@@ -213,20 +221,694 @@ make_file_path (grub_efi_device_path_t *dp, const char *filename)
return file_path;
}
@ -376,6 +391,10 @@ index 2bd80f4db3d..b54cf6986fc 100644
+ GRUB_PE32_MACHINE_I386;
+#elif defined(__ia64__)
+ GRUB_PE32_MACHINE_IA64;
+#elif defined(__riscv) && (__riscv_xlen == 32)
+ GRUB_PE32_MACHINE_RISCV32;
+#elif defined(__riscv) && (__riscv_xlen == 64)
+ GRUB_PE32_MACHINE_RISCV64;
+#else
+#error this architecture is not supported by grub2
+#endif
@ -955,7 +974,7 @@ index 2bd80f4db3d..b54cf6986fc 100644
if (argc == 0)
return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
@@ -238,15 +916,45 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
@@ -238,15 +920,45 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
address = 0;
image_handle = 0;
file_path = 0;
@ -1003,7 +1022,7 @@ index 2bd80f4db3d..b54cf6986fc 100644
if (! dev)
goto fail;
@@ -283,17 +991,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
@@ -283,17 +995,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
if (! file_path)
goto fail;
@ -1024,7 +1043,7 @@ index 2bd80f4db3d..b54cf6986fc 100644
status = efi_call_4 (b->allocate_pages, GRUB_EFI_ALLOCATE_ANY_PAGES,
GRUB_EFI_LOADER_CODE,
@@ -307,7 +1012,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
@@ -307,7 +1016,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
}
boot_image = (void *) ((grub_addr_t) address);
@ -1033,7 +1052,7 @@ index 2bd80f4db3d..b54cf6986fc 100644
{
if (grub_errno == GRUB_ERR_NONE)
grub_error (GRUB_ERR_BAD_OS, N_("premature end of file %s"),
@@ -317,7 +1022,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
@@ -317,7 +1026,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
}
#if defined (__i386__) || defined (__x86_64__)
@ -1042,7 +1061,7 @@ index 2bd80f4db3d..b54cf6986fc 100644
{
struct grub_macho_fat_header *head = boot_image;
if (head->magic
@@ -326,6 +1031,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
@@ -326,6 +1035,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
grub_uint32_t i;
struct grub_macho_fat_arch *archs
= (struct grub_macho_fat_arch *) (head + 1);
@ -1057,7 +1076,7 @@ index 2bd80f4db3d..b54cf6986fc 100644
for (i = 0; i < grub_cpu_to_le32 (head->nfat_arch); i++)
{
if (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT (archs[i].cputype))
@@ -340,79 +1053,39 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
@@ -340,79 +1057,39 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
> ~grub_cpu_to_le32 (archs[i].size)
|| grub_cpu_to_le32 (archs[i].offset)
+ grub_cpu_to_le32 (archs[i].size)
@ -1154,7 +1173,7 @@ index 2bd80f4db3d..b54cf6986fc 100644
if (dev)
grub_device_close (dev);
@@ -424,6 +1097,9 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
@@ -424,6 +1101,9 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)),
if (address)
efi_call_2 (b->free_pages, address, pages);

View File

@ -193,7 +193,7 @@ index 74888c463ba..585f2b57385 100644
grub_unregister_command (cmd);
}
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
index b54cf6986fc..3ff305b1d32 100644
index e6a8d4ad0e9..07c4937898d 100644
--- a/grub-core/loader/efi/chainloader.c
+++ b/grub-core/loader/efi/chainloader.c
@@ -34,6 +34,7 @@

View File

@ -7,16 +7,20 @@ This is an implementation of IBM client architecture (CAS) reboot for GRUB.
There are cases where the POWER firmware must reboot in order to support
specific features requested by a kernel. The kernel calls
ibm,client-architecture-support and it may either return or reboot with the new
feature set. eg:
ibm,client-architecture-support and it may either return or reboot with
the new feature set. eg:
Calling ibm,client-architecture-support.../
Elapsed time since release of system processors: 70959 mins 50 secs
Welcome to GRUB!
Instead of return to the GRUB menu, it will check if the flag for CAS reboot is
set. If so, grub will automatically boot the last booted kernel using the same
parameters
Instead of return to the GRUB menu, it will check if the flag for CAS
reboot is set. If so, grub will automatically boot the last booted
kernel using the same parameters
Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
[rharwood@redhat.com: commit message rewrap]
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
grub-core/kern/ieee1275/openfw.c | 63 ++++++++++++++++++++++++++++++++++++++++
grub-core/normal/main.c | 19 ++++++++++++

View File

@ -10,6 +10,8 @@ This should fix this bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=908519
Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
grub-core/term/terminfo.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

View File

@ -5,6 +5,9 @@ Subject: [PATCH] Disable GRUB video support for IBM power machines
Should fix the problem in bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=973205
Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
grub-core/kern/ieee1275/cmain.c | 5 ++++-
grub-core/video/ieee1275.c | 9 ++++++---

View File

@ -3,8 +3,11 @@ From: Mark Hamzy <hamzy@us.ibm.com>
Date: Wed, 28 Mar 2012 14:46:41 -0500
Subject: [PATCH] Migrate PPC from Yaboot to Grub2
Add configuration support for serial terminal consoles. This will set the
maximum screen size so that text is not overwritten.
Add configuration support for serial terminal consoles. This will set
the maximum screen size so that text is not overwritten.
Signed-off-by: Mark Hamzy <hamzy@us.ibm.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
Makefile.util.def | 7 +++
util/grub.d/20_ppc_terminfo.in | 114 +++++++++++++++++++++++++++++++++++++++++

View File

@ -8,6 +8,9 @@ found. It was originally written by Matthew Garrett, and adapted to fix the
"No modules are loaded on grub2 network boot" issue:
https://bugzilla.redhat.com/show_bug.cgi?id=857936
Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
grub-core/kern/main.c | 13 ++++++-------
grub-core/normal/main.c | 25 ++++++++++++++++++++++++-

View File

@ -1,49 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Peter Jones <pjones@redhat.com>
Date: Tue, 18 Feb 2014 09:37:49 -0500
Subject: [PATCH] Don't emit "Booting ..." message.
UI team still hates this stuff, so we're disabling it for RHEL 7.
Resolves: rhbz#1023142
Signed-off-by: Peter Jones <pjones@redhat.com>
---
grub-core/normal/menu.c | 4 +++-
grub-core/normal/menu_entry.c | 3 ---
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c
index d7a222e681b..37d753d8081 100644
--- a/grub-core/normal/menu.c
+++ b/grub-core/normal/menu.c
@@ -838,12 +838,14 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot)
/* Callback invoked immediately before a menu entry is executed. */
static void
-notify_booting (grub_menu_entry_t entry,
+notify_booting (grub_menu_entry_t __attribute__((unused)) entry,
void *userdata __attribute__((unused)))
{
+#if 0
grub_printf (" ");
grub_printf_ (N_("Booting `%s'"), entry->title);
grub_printf ("\n\n");
+#endif
}
/* Callback invoked when a default menu entry executed because of a timeout
diff --git a/grub-core/normal/menu_entry.c b/grub-core/normal/menu_entry.c
index 50eef918cf6..de64a367c4e 100644
--- a/grub-core/normal/menu_entry.c
+++ b/grub-core/normal/menu_entry.c
@@ -1176,9 +1176,6 @@ run (struct screen *screen)
char *dummy[1] = { NULL };
grub_cls ();
- grub_printf (" ");
- grub_printf_ (N_("Booting a command list"));
- grub_printf ("\n\n");
errs_before = grub_err_printed_errors;

View File

@ -1,23 +1,26 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Robert Marshall <rmarshall@redhat.com>
Date: Mon, 16 Mar 2015 14:14:19 -0400
Subject: [PATCH] Use Distribution Package Sort for grub2-mkconfig (#1124074)
Subject: [PATCH] Use rpm's sort for grub2-mkconfig
Users reported that newly installed kernels on their systems installed
with grub-mkconfig would not appear on the grub boot list in order
starting with the most recent. Added an option for rpm-based systems to
use the rpm-sort library to sort kernels instead.
Resolves rhbz#1124074
Add an option for rpm-based systems to use the rpm-sort library to sort
kernels. This avoids problems due to discrepancies between `sort -V`
and rpm.
Signed-off-by: Robert Marshall <rmarshall@redhat.com>
[pjones: fix --enable-rpm-sort configure option]
Signed-off-by: Peter Jones <pjones@redhat.com>
[thierry.vignaud: fix build with rpm-4.16]
Signed-off-by: Thierry Vignaud <thierry.vignaud@gmail.com>
[tim: fix disabling grub-rpm-sort by ./configure]
Signed-off-by: Tim Landscheidt <tim@tim-landscheidt.de>
[javierm: don't check for rpmvercmp in librpm]
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
[rharwood: commit message]
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
configure.ac | 38 +++++++
Makefile.util.def | 16 +++
configure.ac | 37 ++++++
Makefile.util.def | 17 +++
util/grub-rpm-sort.c | 281 ++++++++++++++++++++++++++++++++++++++++++++++
util/grub-mkconfig_lib.in | 11 +-
util/grub-rpm-sort.8 | 12 ++
@ -26,7 +29,7 @@ Signed-off-by: Thierry Vignaud <thierry.vignaud@gmail.com>
create mode 100644 util/grub-rpm-sort.8
diff --git a/configure.ac b/configure.ac
index bec8535af70..fdcb452581c 100644
index bec8535af70..643a13f9147 100644
--- a/configure.ac
+++ b/configure.ac
@@ -72,6 +72,7 @@ grub_TRANSFORM([grub-mkrelpath])
@ -45,7 +48,7 @@ index bec8535af70..fdcb452581c 100644
grub_TRANSFORM([grub-reboot.3])
grub_TRANSFORM([grub-render-label.3])
grub_TRANSFORM([grub-script-check.3])
@@ -1860,6 +1862,42 @@ fi
@@ -1860,6 +1862,35 @@ fi
AC_SUBST([LIBDEVMAPPER])
@ -54,6 +57,8 @@ index bec8535af70..fdcb452581c 100644
+ [enable native rpm sorting of kernels in grub (default=guessed)])])
+if test x"$enable_rpm_sort" = xno ; then
+ rpm_sort_excuse="explicitly disabled"
+else
+ enable_rpm_sort=yes
+fi
+
+if test x"$rpm_sort_excuse" = x ; then
@ -63,24 +68,15 @@ index bec8535af70..fdcb452581c 100644
+fi
+
+if test x"$rpm_sort_excuse" = x ; then
+ # Check for rpm library.
+ AC_CHECK_LIB([rpm], [rpmvercmp], [],
+ [rpm_sort_excuse="rpmlib missing rpmvercmp"])
+ # Check for rpmio library.
+ AC_CHECK_LIB([rpmio], [rpmvercmp], [],
+ [rpm_sort_excuse="rpmio missing rpmvercmp"])
+fi
+
+if test x"$rpm_sort_excuse" = x ; then
+ LIBRPM="-lrpm";
+ AC_DEFINE([HAVE_RPM], [1],
+ [Define to 1 if you have the rpm library.])
+fi
+
+if test x"$LIBRPM" = x ; then
+ # Check for rpm library.
+ AC_CHECK_LIB([rpmio], [rpmvercmp], [],
+ [rpm_sort_excuse="rpmio missing rpmvercmp"])
+ LIBRPM="-lrpmio";
+ AC_DEFINE([HAVE_RPMIO], [1],
+ [Define to 1 if you have the rpm library.])
+ [Define to 1 if you have the rpmio library.])
+fi
+
+AC_SUBST([LIBRPM])
@ -88,11 +84,31 @@ index bec8535af70..fdcb452581c 100644
LIBGEOM=
if test x$host_kernel = xkfreebsd; then
AC_CHECK_LIB([geom], [geom_gettree], [],
@@ -2047,6 +2078,7 @@ AM_CONDITIONAL([COND_GRUB_EMU_SDL], [test x$enable_grub_emu_sdl = xyes])
AM_CONDITIONAL([COND_GRUB_EMU_PCI], [test x$enable_grub_emu_pci = xyes])
AM_CONDITIONAL([COND_GRUB_MKFONT], [test x$enable_grub_mkfont = xyes])
AM_CONDITIONAL([COND_GRUB_MOUNT], [test x$enable_grub_mount = xyes])
+AM_CONDITIONAL([COND_GRUB_RPM_SORT], [test x$enable_rpm_sort = xyes])
AM_CONDITIONAL([COND_HAVE_FONT_SOURCE], [test x$FONT_SOURCE != x])
if test x$FONT_SOURCE != x ; then
HAVE_FONT_SOURCE=1
@@ -2168,6 +2200,11 @@ echo grub-mount: Yes
else
echo grub-mount: No "($grub_mount_excuse)"
fi
+if [ x"$rpm_sort_excuse" = x ]; then
+echo grub-rpm-sort: Yes
+else
+echo grub-rpm-sort: No "($rpm_sort_excuse)"
+fi
if [ x"$starfield_excuse" = x ]; then
echo starfield theme: Yes
echo With DejaVuSans font from $DJVU_FONT_SOURCE
diff --git a/Makefile.util.def b/Makefile.util.def
index 2c9b283a230..ba4cf4b29b0 100644
index 2c9b283a230..bc10cc79722 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -703,6 +703,22 @@ program = {
@@ -703,6 +703,23 @@ program = {
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
};
@ -110,6 +126,7 @@ index 2c9b283a230..ba4cf4b29b0 100644
+ ldadd = libgrubkern.a;
+ ldadd = grub-core/lib/gnulib/libgnu.a;
+ ldadd = '$(LIBDEVMAPPER) $(LIBRPM)';
+ condition = COND_GRUB_RPM_SORT;
+};
+
script = {

View File

@ -27,7 +27,7 @@ Andy Lutomirski <luto@kernel.org>
create mode 100644 util/grub.d/01_users.in
diff --git a/configure.ac b/configure.ac
index fdcb452581c..30fd84d8067 100644
index 643a13f9147..25e1abb59b9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -72,6 +72,7 @@ grub_TRANSFORM([grub-mkrelpath])
@ -39,7 +39,7 @@ index fdcb452581c..30fd84d8067 100644
grub_TRANSFORM([grub-script-check])
grub_TRANSFORM([grub-set-default])
diff --git a/Makefile.util.def b/Makefile.util.def
index ba4cf4b29b0..1a7dd433e33 100644
index bc10cc79722..8ca4c14f0b9 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -452,6 +452,12 @@ script = {
@ -55,7 +55,7 @@ index ba4cf4b29b0..1a7dd433e33 100644
script = {
name = '10_windows';
common = util/grub.d/10_windows.in;
@@ -740,6 +746,13 @@ script = {
@@ -741,6 +747,13 @@ script = {
installdir = sbin;
};

View File

@ -23,7 +23,7 @@ Resolves: rhbz#1226325
create mode 100644 util/grub-get-kernel-settings.in
diff --git a/configure.ac b/configure.ac
index 30fd84d8067..ed31ea457d2 100644
index 25e1abb59b9..58e57a745fa 100644
--- a/configure.ac
+++ b/configure.ac
@@ -65,6 +65,7 @@ grub_TRANSFORM([grub-install])
@ -43,10 +43,10 @@ index 30fd84d8067..ed31ea457d2 100644
grub_TRANSFORM([grub-install.1])
grub_TRANSFORM([grub-kbdcomp.3])
diff --git a/Makefile.util.def b/Makefile.util.def
index 1a7dd433e33..cdd2f51fe4b 100644
index 8ca4c14f0b9..43a1c7453b1 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -732,6 +732,13 @@ script = {
@@ -733,6 +733,13 @@ script = {
installdir = sbin;
};

View File

@ -25,6 +25,9 @@ This patch changes it as below.
0000 0000 0000 0000 0000 0011 1111 1111 # ~grub_swap_bytes32(grub_le_to_cpu32 (subnet_mask.ipv4))
The count of zero with __builtin_clz can be 22. (clz counts the number of one bits preceding the most significant zero bit)
Signed-off-by: Masahiro Matsuya <mmatsuya@redhat.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
grub-core/net/drivers/ieee1275/ofnet.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

View File

@ -13,7 +13,7 @@ Subject: [PATCH] Fix up some man pages rpmdiff noticed.
create mode 100644 util/grub-syslinux2cfg.1
diff --git a/configure.ac b/configure.ac
index ed31ea457d2..537ed411469 100644
index 58e57a745fa..a0030632220 100644
--- a/configure.ac
+++ b/configure.ac
@@ -87,6 +87,7 @@ grub_TRANSFORM([grub-get-kernel-settings.3])

View File

@ -13,7 +13,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
1 file changed, 9 insertions(+), 15 deletions(-)
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
index 3ff305b1d32..ba3d2930197 100644
index 07c4937898d..89ac84cc663 100644
--- a/grub-core/loader/efi/chainloader.c
+++ b/grub-core/loader/efi/chainloader.c
@@ -65,7 +65,7 @@ grub_chainloader_unload (void)
@ -34,7 +34,7 @@ index 3ff305b1d32..ba3d2930197 100644
grub_loader_unset ();
@@ -523,10 +523,9 @@ grub_efi_get_media_file_path (grub_efi_device_path_t *dp)
@@ -527,10 +527,9 @@ grub_efi_get_media_file_path (grub_efi_device_path_t *dp)
static grub_efi_boolean_t
handle_image (void *data, grub_efi_uint32_t datasize)
{
@ -46,7 +46,7 @@ index 3ff305b1d32..ba3d2930197 100644
char *buffer_aligned = NULL;
grub_efi_uint32_t i;
struct grub_pe32_section_table *section;
@@ -537,8 +536,6 @@ handle_image (void *data, grub_efi_uint32_t datasize)
@@ -541,8 +540,6 @@ handle_image (void *data, grub_efi_uint32_t datasize)
int found_entry_point = 0;
int rc;
@ -55,7 +55,7 @@ index 3ff305b1d32..ba3d2930197 100644
rc = read_header (data, datasize, &context);
if (rc < 0)
{
@@ -578,8 +575,8 @@ handle_image (void *data, grub_efi_uint32_t datasize)
@@ -582,8 +579,8 @@ handle_image (void *data, grub_efi_uint32_t datasize)
grub_dprintf ("chain", "image size is %08"PRIxGRUB_UINT64_T", datasize is %08x\n",
context.image_size, datasize);
@ -66,7 +66,7 @@ index 3ff305b1d32..ba3d2930197 100644
if (efi_status != GRUB_EFI_SUCCESS)
{
@@ -811,14 +808,14 @@ handle_image (void *data, grub_efi_uint32_t datasize)
@@ -815,14 +812,14 @@ handle_image (void *data, grub_efi_uint32_t datasize)
grub_dprintf ("chain", "entry_point returned %ld\n", efi_status);
grub_memcpy (li, &li_bak, sizeof (grub_efi_loaded_image_t));
@ -83,7 +83,7 @@ index 3ff305b1d32..ba3d2930197 100644
return 0;
}
@@ -826,10 +823,7 @@ error_exit:
@@ -830,10 +827,7 @@ error_exit:
static grub_err_t
grub_secureboot_chainloader_unload (void)
{
@ -95,7 +95,7 @@ index 3ff305b1d32..ba3d2930197 100644
grub_free (file_path);
grub_free (cmdline);
cmdline = 0;
@@ -1096,7 +1090,7 @@ fail:
@@ -1100,7 +1094,7 @@ fail:
grub_free (file_path);
if (address)

View File

@ -12,10 +12,10 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c
index ba3d2930197..47f5aa14817 100644
index 89ac84cc663..ac8dfd40c61 100644
--- a/grub-core/loader/efi/chainloader.c
+++ b/grub-core/loader/efi/chainloader.c
@@ -806,7 +806,8 @@ handle_image (void *data, grub_efi_uint32_t datasize)
@@ -810,7 +810,8 @@ handle_image (void *data, grub_efi_uint32_t datasize)
efi_status = efi_call_2 (entry_point, grub_efi_image_handle,
grub_efi_system_table);

View File

@ -20,7 +20,9 @@ kernels are found in the boot directory were proposed by Yclept Nemo
and Tom Gundersen respectively.
Signed-off-by: Peter Jones <pjones@redhat.com>
[javierm: remove outdated URL for BLS document]
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
util/grub-mkconfig.8 | 4 +
util/grub-mkconfig.in | 9 +-
@ -141,7 +143,7 @@ index fafeac95061..d8bb4069360 100644
fi
IFS="$old_ifs"
diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in
index 7bb3a211a7c..fdf324b7ab1 100644
index 7bb3a211a7c..6bceabf3dc9 100644
--- a/util/grub.d/10_linux.in
+++ b/util/grub.d/10_linux.in
@@ -82,6 +82,223 @@ case x"$GRUB_FS" in
@ -162,7 +164,7 @@ index 7bb3a211a7c..fdf324b7ab1 100644
+#
+# The $bls_parser parses the BootLoaderSpec files stored in /boot/loader/entries and
+# populates the boot menu. Please refer to the Boot Loader Specification documentation
+# for the files format: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/.
+# for the files format: https://systemd.io/BOOT_LOADER_SPECIFICATION/.
+
+EOF
+}

View File

@ -17,10 +17,10 @@ Signed-off-by: Jan Hlavac <jhlavac@redhat.com>
create mode 100644 util/grub-switch-to-blscfg.in
diff --git a/Makefile.util.def b/Makefile.util.def
index cdd2f51fe4b..afc4d7b0c3e 100644
index 43a1c7453b1..a90879fa9ba 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -1364,6 +1364,13 @@ program = {
@@ -1365,6 +1365,13 @@ program = {
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
};

View File

@ -38,7 +38,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
delete mode 100644 grub-core/lib/i386/backtrace.c
diff --git a/Makefile.util.def b/Makefile.util.def
index afc4d7b0c3e..41906486a71 100644
index a90879fa9ba..48512bc6311 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -51,6 +51,12 @@ library = {

View File

@ -10,7 +10,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
2 files changed, 27 insertions(+)
diff --git a/configure.ac b/configure.ac
index 537ed411469..b4455e4732d 100644
index a0030632220..b50fb2e9897 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1470,7 +1470,15 @@ grub_PROG_TARGET_CC

View File

@ -49,7 +49,7 @@ Changes in v2:
create mode 100644 util/grub.d/01_menu_auto_hide.in
diff --git a/Makefile.util.def b/Makefile.util.def
index 41906486a71..04551e095bd 100644
index 48512bc6311..314e6f2acf8 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -458,6 +458,12 @@ script = {

View File

@ -31,24 +31,27 @@ and a symlink to grub-boot-success.timer should be added to
/lib/systemd/user/timers.target.wants.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
[makhomed: grub-boot-success.timer: Only run if not in a container]
Signed-off-by: Gena Makhomed <makhomed@gmail.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
Makefile.util.def | 7 ++
util/grub-set-bootflag.c | 160 +++++++++++++++++++++++++++++++++++++++++
conf/Makefile.extra-dist | 3 +
docs/grub-boot-success.service | 6 ++
docs/grub-boot-success.timer | 6 ++
docs/grub-boot-success.timer | 7 ++
util/grub-set-bootflag.1 | 20 ++++++
6 files changed, 202 insertions(+)
6 files changed, 203 insertions(+)
create mode 100644 util/grub-set-bootflag.c
create mode 100644 docs/grub-boot-success.service
create mode 100644 docs/grub-boot-success.timer
create mode 100644 util/grub-set-bootflag.1
diff --git a/Makefile.util.def b/Makefile.util.def
index 04551e095bd..c6375933faa 100644
index 314e6f2acf8..0b85a7fce4a 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -1445,3 +1445,10 @@ program = {
@@ -1446,3 +1446,10 @@ program = {
ldadd = grub-core/lib/gnulib/libgnu.a;
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
};
@ -253,13 +256,14 @@ index 00000000000..80e79584c91
+ExecStart=/usr/sbin/grub2-set-bootflag boot_success
diff --git a/docs/grub-boot-success.timer b/docs/grub-boot-success.timer
new file mode 100644
index 00000000000..5d8fcba21aa
index 00000000000..406f1720056
--- /dev/null
+++ b/docs/grub-boot-success.timer
@@ -0,0 +1,6 @@
@@ -0,0 +1,7 @@
+[Unit]
+Description=Mark boot as successful after the user session has run 2 minutes
+ConditionUser=!@system
+ConditionVirtualization=!container
+
+[Timer]
+OnActiveSec=2min

View File

@ -17,7 +17,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
3 files changed, 64 insertions(+), 16 deletions(-)
diff --git a/configure.ac b/configure.ac
index b4455e4732d..3405348178a 100644
index b50fb2e9897..b27573b3de5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -877,11 +877,23 @@ if ( test "x$target_cpu" = xi386 || test "x$target_cpu" = xx86_64 ) && test "x$p
@ -45,7 +45,7 @@ index b4455e4732d..3405348178a 100644
AC_CACHE_CHECK([for options to get soft-float], grub_cv_target_cc_soft_float, [
grub_cv_target_cc_soft_float=no
if test "x$target_cpu" = xarm64; then
@@ -2018,6 +2030,41 @@ HOST_CPPFLAGS="$HOST_CPPFLAGS -I\$(top_builddir)/include"
@@ -2011,6 +2023,41 @@ HOST_CPPFLAGS="$HOST_CPPFLAGS -I\$(top_builddir)/include"
TARGET_CPPFLAGS="$TARGET_CPPFLAGS -I\$(top_srcdir)/include"
TARGET_CPPFLAGS="$TARGET_CPPFLAGS -I\$(top_builddir)/include"

View File

@ -13,13 +13,16 @@ grub_fdt_load in xen_boot is not defined
grub_fdt_unload in xen_boot is not defined
Signed-off-by: Peter Jones <pjones@redhat.com>
[javierm: Fix build with platform emu, aarch64, and risc-v]
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
grub-core/Makefile.core.def | 5 ++---
grub-core/lib/fdt.c | 2 --
grub-core/loader/efi/fdt.c | 2 ++
include/grub/fdt.h | 4 ++++
include/grub/fdt.h | 6 ++++++
grub-core/Makefile.am | 1 +
5 files changed, 9 insertions(+), 5 deletions(-)
5 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
index c40170f2dd2..84a3d89de9a 100644
@ -85,23 +88,25 @@ index c86f283d756..c572415d38a 100644
static void *fdt;
diff --git a/include/grub/fdt.h b/include/grub/fdt.h
index e609c7e4111..22b7c5463fc 100644
index e609c7e4111..3514aa4a5b6 100644
--- a/include/grub/fdt.h
+++ b/include/grub/fdt.h
@@ -19,6 +19,8 @@
@@ -19,6 +19,9 @@
#ifndef GRUB_FDT_HEADER
#define GRUB_FDT_HEADER 1
+#if defined(__arm__) || defined(__aarch64__)
+#if !defined(GRUB_MACHINE_EMU) && \
+ (defined(__arm__) || defined(__aarch64__) || defined(__riscv))
+
#include <grub/types.h>
#include <grub/symbol.h>
@@ -144,4 +146,6 @@ int EXPORT_FUNC(grub_fdt_set_prop) (void *fdt, unsigned int nodeoffset, const ch
@@ -144,4 +147,7 @@ int EXPORT_FUNC(grub_fdt_set_prop) (void *fdt, unsigned int nodeoffset, const ch
grub_fdt_set_prop ((fdt), (nodeoffset), "reg", reg_64, 16); \
})
+#endif /* defined(__arm__) || defined(__aarch64__) */
+#endif /* !defined(GRUB_MACHINE_EMU) && \
+ (defined(__arm__) || defined(__aarch64__) || defined(__riscv)) */
+
#endif /* ! GRUB_FDT_HEADER */
diff --git a/grub-core/Makefile.am b/grub-core/Makefile.am

View File

@ -9,7 +9,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
1 file changed, 20 insertions(+)
diff --git a/configure.ac b/configure.ac
index 3405348178a..152e7dba652 100644
index b27573b3de5..bb4e05ceef3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1288,6 +1288,26 @@ if test "x$target_cpu" = xarm; then

View File

@ -17,7 +17,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
create mode 100644 grub-core/commands/version.c
diff --git a/configure.ac b/configure.ac
index 152e7dba652..cfdac6bed5a 100644
index bb4e05ceef3..59ccda24475 100644
--- a/configure.ac
+++ b/configure.ac
@@ -312,6 +312,19 @@ AC_SUBST(target_cpu)

View File

@ -23,6 +23,9 @@ Additionally, we now try to locate kernel+initrd+cmdline+etc below
we try a higher address.
Signed-off-by: Peter Jones <pjones@redhat.com>
[david.abdurachmanov: fix macro for riscv64]
Signed-off-by: David Abdurachmanov <david.abdurachmanov@sifive.com>
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
---
grub-core/kern/efi/mm.c | 8 ++++----
grub-core/loader/i386/efi/linux.c | 24 +++++++++++++++++-------
@ -30,8 +33,9 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
include/grub/arm64/efi/memory.h | 1 +
include/grub/i386/efi/memory.h | 1 +
include/grub/ia64/efi/memory.h | 1 +
include/grub/riscv64/efi/memory.h | 1 +
include/grub/x86_64/efi/memory.h | 4 +++-
7 files changed, 28 insertions(+), 12 deletions(-)
8 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
index 85ad4b4494c..e84961d078c 100644
@ -176,6 +180,17 @@ index 2c64918e3f7..a4c2ec83502 100644
#define GRUB_EFI_MAX_USABLE_ADDRESS 0xffffffff
+#define GRUB_EFI_MAX_ALLOCATION_ADDRESS GRUB_EFI_MAX_USABLE_ADDRESS
#endif /* ! GRUB_MEMORY_CPU_HEADER */
diff --git a/include/grub/riscv64/efi/memory.h b/include/grub/riscv64/efi/memory.h
index c6cb3241714..acb61dca44b 100644
--- a/include/grub/riscv64/efi/memory.h
+++ b/include/grub/riscv64/efi/memory.h
@@ -2,5 +2,6 @@
#include <grub/efi/memory.h>
#define GRUB_EFI_MAX_USABLE_ADDRESS 0xffffffffffffULL
+#define GRUB_EFI_MAX_ALLOCATION_ADDRESS GRUB_EFI_MAX_USABLE_ADDRESS
#endif /* ! GRUB_MEMORY_CPU_HEADER */
diff --git a/include/grub/x86_64/efi/memory.h b/include/grub/x86_64/efi/memory.h
index 46e9145a308..e81cfb32213 100644

View File

@ -11,7 +11,7 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index cfdac6bed5a..bd28edf3141 100644
index 59ccda24475..6eb297fdbf6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1480,11 +1480,11 @@ fi
@ -29,7 +29,7 @@ index cfdac6bed5a..bd28edf3141 100644
fi
CPPFLAGS="$TARGET_CPPFLAGS"
@@ -2054,6 +2054,14 @@ if test x"$enable_werror" != xno ; then
@@ -2047,6 +2047,14 @@ if test x"$enable_werror" != xno ; then
HOST_CFLAGS="$HOST_CFLAGS -Werror"
fi

View File

@ -10,10 +10,10 @@ Signed-off-by: Peter Jones <pjones@redhat.com>
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index bd28edf3141..907477a585c 100644
index 6eb297fdbf6..c6bd965f1f9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2062,6 +2062,9 @@ if test x"$enable_wextra" != xno ; then
@@ -2055,6 +2055,9 @@ if test x"$enable_wextra" != xno ; then
HOST_CFLAGS="$HOST_CFLAGS -Wextra"
fi

View File

@ -23,7 +23,7 @@ Signed-off-by: Christian Glombek <lorbus@fedoraproject.org>
create mode 100644 util/grub.d/01_fallback_counting.in
diff --git a/Makefile.util.def b/Makefile.util.def
index c6375933faa..2e5e05b25f1 100644
index 0b85a7fce4a..27a13bc734e 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -458,6 +458,12 @@ script = {

View File

@ -24,7 +24,7 @@ Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
1 file changed, 71 insertions(+), 70 deletions(-)
diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c
index 37d753d8081..ea714d27176 100644
index d7a222e681b..4a02aadb01c 100644
--- a/grub-core/normal/menu.c
+++ b/grub-core/normal/menu.c
@@ -164,12 +164,12 @@ grub_menu_set_timeout (int timeout)

View File

@ -30,7 +30,7 @@ index ee53d4a68e5..87edd254c44 100644
int grub_extractor_level = 0;
diff --git a/grub-core/normal/menu.c b/grub-core/normal/menu.c
index ea714d27176..d4832f17699 100644
index 4a02aadb01c..fe2e77a43e2 100644
--- a/grub-core/normal/menu.c
+++ b/grub-core/normal/menu.c
@@ -375,8 +375,6 @@ grub_menu_execute_entry(grub_menu_entry_t entry, int auto_boot)

View File

@ -21,7 +21,7 @@ Signed-off-by: Robbie Harwood <rharwood@redhat.com>
rename util/grub.d/{01_menu_auto_hide.in => 12_menu_auto_hide.in} (58%)
diff --git a/Makefile.util.def b/Makefile.util.def
index 2e5e05b25f1..11ab2d6fad1 100644
index 27a13bc734e..2e6ad979c3e 100644
--- a/Makefile.util.def
+++ b/Makefile.util.def
@@ -459,14 +459,14 @@ script = {

Some files were not shown because too many files have changed in this diff Show More