diff --git a/0202-Add-BLS-support-to-grub-mkconfig.patch b/0202-Add-BLS-support-to-grub-mkconfig.patch index 502d311..bc9ddfb 100644 --- a/0202-Add-BLS-support-to-grub-mkconfig.patch +++ b/0202-Add-BLS-support-to-grub-mkconfig.patch @@ -1,4 +1,4 @@ -From 83e296e519bbb551e06a6d011daaa16bbfee8b86 Mon Sep 17 00:00:00 2001 +From 9baa7c16e5138497862eba684d2c41e5ed16e787 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 9 Dec 2016 15:40:29 -0500 Subject: [PATCH 202/216] Add BLS support to grub-mkconfig @@ -10,8 +10,8 @@ files are parsed by blscfg command and the entries created dynamically. --- util/grub-mkconfig.in | 3 ++- util/grub-mkconfig_lib.in | 29 +++++++++++++++++++---------- - util/grub.d/10_linux.in | 36 ++++++++++++++++++++++++++++++++++-- - 3 files changed, 55 insertions(+), 13 deletions(-) + util/grub.d/10_linux.in | 37 +++++++++++++++++++++++++++++++++++-- + 3 files changed, 56 insertions(+), 13 deletions(-) diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in index 3b0bfe40308..760fe08727f 100644 @@ -104,10 +104,10 @@ index 2fb4f4f8143..70dc8d57e92 100644 fi IFS="$old_ifs" diff --git a/util/grub.d/10_linux.in b/util/grub.d/10_linux.in -index 7e78ad33636..68f631772c3 100644 +index 7e78ad33636..f5daefb9d24 100644 --- a/util/grub.d/10_linux.in +++ b/util/grub.d/10_linux.in -@@ -126,6 +126,33 @@ linux_entry () +@@ -126,6 +126,34 @@ linux_entry () if [ -z "$boot_device_id" ]; then boot_device_id="$(grub_get_device_id "${GRUB_DEVICE}")" fi @@ -127,6 +127,7 @@ index 7e78ad33636..68f631772c3 100644 + prepare_grub_to_access_device ${bootefi_device} boot + + cat << EOF ++insmod blscfg +blscfg +if [ -s \$prefix/grubenv ]; then + load_env @@ -141,7 +142,7 @@ index 7e78ad33636..68f631772c3 100644 if [ x$type != xsimple ] ; then title=$(mktitle "$type" "$version") if [ x"$title" = x"$GRUB_ACTUAL_DEFAULT" ] || [ x"Previous Linux versions>$title" = x"$GRUB_ACTUAL_DEFAULT" ]; then -@@ -236,7 +263,10 @@ submenu_indentation="" +@@ -236,7 +264,10 @@ submenu_indentation="" is_top_level=true while [ "x$list" != "x" ] ; do linux=`version_find_latest $list` @@ -153,7 +154,7 @@ index 7e78ad33636..68f631772c3 100644 basename=`basename $linux` dirname=`dirname $linux` rel_dirname=`make_system_path_relative_to_its_root $dirname` -@@ -281,7 +311,9 @@ while [ "x$list" != "x" ] ; do +@@ -281,7 +312,9 @@ while [ "x$list" != "x" ] ; do fi if test -n "${initrd}" ; then diff --git a/0203-Remove-duplicated-grub_exit-definition-for-grub-emu-.patch b/0203-Remove-duplicated-grub_exit-definition-for-grub-emu-.patch index c52b099..8af7297 100644 --- a/0203-Remove-duplicated-grub_exit-definition-for-grub-emu-.patch +++ b/0203-Remove-duplicated-grub_exit-definition-for-grub-emu-.patch @@ -1,4 +1,4 @@ -From 5ee3b4f17f20848f8cddff1313fbd99048b46036 Mon Sep 17 00:00:00 2001 +From 206697fab4e803807a83f1f7f330d3d009aba2fd Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Tue, 6 Feb 2018 11:02:09 +0100 Subject: [PATCH 203/216] Remove duplicated grub_exit() definition for grub-emu diff --git a/0204-Don-t-attempt-to-backtrace-on-grub_abort-for-grub-em.patch b/0204-Don-t-attempt-to-backtrace-on-grub_abort-for-grub-em.patch index cb1218b..d239fbe 100644 --- a/0204-Don-t-attempt-to-backtrace-on-grub_abort-for-grub-em.patch +++ b/0204-Don-t-attempt-to-backtrace-on-grub_abort-for-grub-em.patch @@ -1,4 +1,4 @@ -From a0029e01e10b5077c88aa56b12314ace5e9c3e4e Mon Sep 17 00:00:00 2001 +From 37844213b374844bc1a4056712241cf6d9421880 Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Tue, 6 Feb 2018 11:16:28 +0100 Subject: [PATCH 204/216] Don't attempt to backtrace on grub_abort() for diff --git a/0205-Enable-blscfg-command-for-the-emu-platform.patch b/0205-Enable-blscfg-command-for-the-emu-platform.patch index b0fdf5a..9406ff0 100644 --- a/0205-Enable-blscfg-command-for-the-emu-platform.patch +++ b/0205-Enable-blscfg-command-for-the-emu-platform.patch @@ -1,4 +1,4 @@ -From ad586ac13d32bd610c86aaa3d8972101371476eb Mon Sep 17 00:00:00 2001 +From 01839f5d2491ba1b5694d1c4b2f3c2818a2408ae Mon Sep 17 00:00:00 2001 From: Javier Martinez Canillas Date: Fri, 2 Feb 2018 11:36:29 +0100 Subject: [PATCH 205/216] Enable blscfg command for the emu platform diff --git a/0206-Add-linux-and-initrd-commands-for-grub-emu.patch b/0206-Add-linux-and-initrd-commands-for-grub-emu.patch index a6fd1d8..fc21f69 100644 --- a/0206-Add-linux-and-initrd-commands-for-grub-emu.patch +++ b/0206-Add-linux-and-initrd-commands-for-grub-emu.patch @@ -1,4 +1,4 @@ -From cc17b5318a72426969bf50748056ae526f0011b9 Mon Sep 17 00:00:00 2001 +From f1a8f489ec2cafdcfbdd3b60ffc7752bed8c8528 Mon Sep 17 00:00:00 2001 From: Michael Chang Date: Tue, 6 Feb 2018 09:09:00 +0100 Subject: [PATCH 206/216] Add linux and initrd commands for grub-emu diff --git a/0207-Fix-the-efidir-in-grub-setpassword.patch b/0207-Fix-the-efidir-in-grub-setpassword.patch index 7beff22..fadd832 100644 --- a/0207-Fix-the-efidir-in-grub-setpassword.patch +++ b/0207-Fix-the-efidir-in-grub-setpassword.patch @@ -1,4 +1,4 @@ -From bb0547998b22e6c8c675fc67dda6ae1ddf3cf890 Mon Sep 17 00:00:00 2001 +From 3682958910d45a129f38cb1f28bc61288f92a698 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 15 Mar 2018 14:12:54 -0400 Subject: [PATCH 207/216] Fix the efidir in grub-setpassword diff --git a/0208-Add-grub2-switch-to-blscfg.patch b/0208-Add-grub2-switch-to-blscfg.patch index 8904f19..02ca4d7 100644 --- a/0208-Add-grub2-switch-to-blscfg.patch +++ b/0208-Add-grub2-switch-to-blscfg.patch @@ -1,4 +1,4 @@ -From 4db80106d593b4af6ba76d885e900b65a8e58868 Mon Sep 17 00:00:00 2001 +From 95d9f5c317fb59dbb47c1df531fe5ab6f61e55af Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 15 Mar 2018 14:12:40 -0400 Subject: [PATCH 208/216] Add grub2-switch-to-blscfg diff --git a/0209-Add-grub_debug_enabled.patch b/0209-Add-grub_debug_enabled.patch index 710316e..2313645 100644 --- a/0209-Add-grub_debug_enabled.patch +++ b/0209-Add-grub_debug_enabled.patch @@ -1,4 +1,4 @@ -From 337affc3480f637d3a8199376e89e146d694682f Mon Sep 17 00:00:00 2001 +From 73a860b83bc81959baabceeec6e9a32102884a57 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 30 Nov 2017 15:11:39 -0500 Subject: [PATCH 209/216] Add grub_debug_enabled() diff --git a/0210-make-better-backtraces.patch b/0210-make-better-backtraces.patch index 113d2ce..76ed11b 100644 --- a/0210-make-better-backtraces.patch +++ b/0210-make-better-backtraces.patch @@ -1,4 +1,4 @@ -From 0c858bc10a124de21d20e0523e69565bfed4df3b Mon Sep 17 00:00:00 2001 +From fe56f63c69beec5448db49884b389ff3392fcf7c Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Mon, 6 Nov 2017 18:31:56 -0500 Subject: [PATCH 210/216] make better backtraces @@ -9,7 +9,7 @@ Signed-off-by: Peter Jones grub-core/{lib => commands}/backtrace.c | 2 +- grub-core/gdb/cstub.c | 1 - grub-core/kern/arm64/backtrace.c | 75 ++++++++++++++++++++ - grub-core/kern/backtrace.c | 83 ++++++++++++++++++++++ + grub-core/kern/backtrace.c | 95 +++++++++++++++++++++++++ grub-core/kern/dl.c | 45 ++++++++++++ grub-core/kern/i386/backtrace.c | 120 ++++++++++++++++++++++++++++++++ grub-core/kern/i386/pc/init.c | 4 +- @@ -28,7 +28,7 @@ Signed-off-by: Peter Jones grub-core/kern/ia64/efi/startup.S | 3 +- grub-core/kern/sparc64/ieee1275/crt0.S | 3 +- grub-core/Makefile.am | 1 + - 23 files changed, 370 insertions(+), 166 deletions(-) + 23 files changed, 382 insertions(+), 166 deletions(-) rename grub-core/{lib => commands}/backtrace.c (98%) create mode 100644 grub-core/kern/arm64/backtrace.c create mode 100644 grub-core/kern/backtrace.c @@ -109,7 +109,7 @@ index b64acd70fee..99281472d36 100644 diff --git a/grub-core/kern/arm64/backtrace.c b/grub-core/kern/arm64/backtrace.c new file mode 100644 -index 00000000000..a4af6e4e006 +index 00000000000..70de1b29414 --- /dev/null +++ b/grub-core/kern/arm64/backtrace.c @@ -0,0 +1,75 @@ @@ -140,12 +140,12 @@ index 00000000000..a4af6e4e006 +#include + +void -+grub_backtrace_pointer (void *frame, unsigned long skip) ++grub_backtrace_pointer (void *frame, unsigned int skip) +{ + do + { + const char *name = NULL; -+ char *addr; ++ char *addr = NULL; + + void *ret = __builtin_return_address (skip); + frame = __builtin_frame_address (skip); @@ -181,7 +181,7 @@ index 00000000000..a4af6e4e006 +extern grub_uint64_t _data; + +void -+grub_backtrace_arch (unsigned long skip) ++grub_backtrace_arch (unsigned int skip) +{ + grub_printf ("Backtrace (.text %p .data %p):\n", + (void *)_text, (void *)_data); @@ -190,10 +190,10 @@ index 00000000000..a4af6e4e006 +} diff --git a/grub-core/kern/backtrace.c b/grub-core/kern/backtrace.c new file mode 100644 -index 00000000000..363b0e7e766 +index 00000000000..bd6a783f6d0 --- /dev/null +++ b/grub-core/kern/backtrace.c -@@ -0,0 +1,83 @@ +@@ -0,0 +1,95 @@ +/* + * GRUB -- GRand Unified Bootloader + * Copyright (C) 2009 Free Software Foundation, Inc. @@ -252,27 +252,39 @@ index 00000000000..363b0e7e766 + grub_printf ("%p", addr); +} + ++static void ++grub_backtrace_pointer_default (void *frame __attribute__((__unused__)), ++ unsigned int skip __attribute__((__unused__))) ++{ ++ return; ++} ++ ++void ++grub_backtrace_pointer (void *frame, unsigned int skip) ++ __attribute__((__weak__, ++ __alias__(("grub_backtrace_pointer_default")))); ++ +void +grub_backtrace_print_address (void *addr) + __attribute__((__weak__, + __alias__(("grub_backtrace_print_address_default")))); + +static void -+grub_backtrace_arch_default(unsigned long skip) ++grub_backtrace_arch_default(unsigned int skip) +{ + grub_backtrace_pointer(__builtin_frame_address(0), skip + 1); +} + -+void grub_backtrace_arch (unsigned long skip) ++void grub_backtrace_arch (unsigned int skip) + __attribute__((__weak__, __alias__(("grub_backtrace_arch_default")))); + -+void grub_backtrace (unsigned long skip) ++void grub_backtrace (unsigned int skip) +{ + grub_backtrace_arch(skip + 1); +} + +void grub_debug_backtrace (const char * const debug, -+ unsigned long skip) ++ unsigned int skip) +{ + if (grub_debug_enabled (debug)) + grub_backtrace (skip + 1); @@ -342,7 +354,7 @@ index 621070918d4..5028d157c46 100644 i++, s = (Elf_Shdr *) ((char *) s + e->e_shentsize)) diff --git a/grub-core/kern/i386/backtrace.c b/grub-core/kern/i386/backtrace.c new file mode 100644 -index 00000000000..75db596a167 +index 00000000000..60a6abfe93f --- /dev/null +++ b/grub-core/kern/i386/backtrace.c @@ -0,0 +1,120 @@ @@ -375,7 +387,7 @@ index 00000000000..75db596a167 +#define MAX_STACK_FRAME 102400 + +void -+grub_backtrace_pointer (void *frame, unsigned long skip) ++grub_backtrace_pointer (void *frame, unsigned int skip) +{ + void **ebp = (void **)frame; + unsigned long x = 0; @@ -444,7 +456,7 @@ index 00000000000..75db596a167 +extern unsigned long _data; + +void -+grub_backtrace_arch (unsigned long skip) ++grub_backtrace_arch (unsigned int skip) +{ + grub_printf ("Backtrace (.text %p .data %p):\n", + (void *)_text, (void *)_data); @@ -708,7 +720,7 @@ index c67273db3ae..00000000000 -} - diff --git a/include/grub/backtrace.h b/include/grub/backtrace.h -index 395519762f0..759918ebefd 100644 +index 395519762f0..275cf85e2d3 100644 --- a/include/grub/backtrace.h +++ b/include/grub/backtrace.h @@ -19,8 +19,14 @@ @@ -721,10 +733,10 @@ index 395519762f0..759918ebefd 100644 +#include + +void EXPORT_FUNC(grub_debug_backtrace) (const char * const debug, -+ unsigned long skip); -+void EXPORT_FUNC(grub_backtrace) (unsigned long skip); -+void grub_backtrace_arch (unsigned long skip); -+void grub_backtrace_pointer (void *ptr, unsigned long skip); ++ unsigned int skip); ++void EXPORT_FUNC(grub_backtrace) (unsigned int skip); ++void grub_backtrace_arch (unsigned int skip); ++void grub_backtrace_pointer (void *ptr, unsigned int skip); void grub_backtrace_print_address (void *addr); #endif diff --git a/0211-normal-don-t-draw-our-startup-message-if-debug-is-se.patch b/0211-normal-don-t-draw-our-startup-message-if-debug-is-se.patch index c0aaa3b..d33bc94 100644 --- a/0211-normal-don-t-draw-our-startup-message-if-debug-is-se.patch +++ b/0211-normal-don-t-draw-our-startup-message-if-debug-is-se.patch @@ -1,4 +1,4 @@ -From 475996f3151cbe42707eecd0e55dc90761c204f5 Mon Sep 17 00:00:00 2001 +From 93b1871dd0f46bceb148fd8fd5664fe994ec3d8b Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 9 Nov 2017 15:58:52 -0500 Subject: [PATCH 211/216] normal: don't draw our startup message if debug is diff --git a/0212-Work-around-some-minor-include-path-weirdnesses.patch b/0212-Work-around-some-minor-include-path-weirdnesses.patch index b764e5a..a4a200a 100644 --- a/0212-Work-around-some-minor-include-path-weirdnesses.patch +++ b/0212-Work-around-some-minor-include-path-weirdnesses.patch @@ -1,4 +1,4 @@ -From 08303ac0f3431062651f1d556641ea54009da207 Mon Sep 17 00:00:00 2001 +From e7a35bd7770d0dff0130c49522bafa7ce767972e Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Fri, 16 Mar 2018 13:28:57 -0400 Subject: [PATCH 212/216] Work around some minor include path weirdnesses diff --git a/0213-Make-it-possible-to-enabled-build-id-sha1.patch b/0213-Make-it-possible-to-enabled-build-id-sha1.patch index 0c4bc8e..f9dbbcd 100644 --- a/0213-Make-it-possible-to-enabled-build-id-sha1.patch +++ b/0213-Make-it-possible-to-enabled-build-id-sha1.patch @@ -1,4 +1,4 @@ -From 3ad964eb443776aa0db28bf48fe0a81d11549c7c Mon Sep 17 00:00:00 2001 +From 243bd5d756c6dd91f77dea538310b5387f5628a5 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 25 Jun 2015 15:41:06 -0400 Subject: [PATCH 213/216] Make it possible to enabled --build-id=sha1 diff --git a/0214-Add-grub_qdprintf-grub_dprintf-without-the-file-line.patch b/0214-Add-grub_qdprintf-grub_dprintf-without-the-file-line.patch index 5eee2b2..2cacded 100644 --- a/0214-Add-grub_qdprintf-grub_dprintf-without-the-file-line.patch +++ b/0214-Add-grub_qdprintf-grub_dprintf-without-the-file-line.patch @@ -1,4 +1,4 @@ -From 767576df6c562e42b9e290321a85b44902e66f74 Mon Sep 17 00:00:00 2001 +From 62ba456cc91cbc31ab16a075057459f71bb73524 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Sun, 28 Jun 2015 13:09:58 -0400 Subject: [PATCH 214/216] Add grub_qdprintf() - grub_dprintf() without the diff --git a/0215-Make-a-gdb-dprintf-that-tells-us-load-addresses.patch b/0215-Make-a-gdb-dprintf-that-tells-us-load-addresses.patch index 89b1b95..f0029e6 100644 --- a/0215-Make-a-gdb-dprintf-that-tells-us-load-addresses.patch +++ b/0215-Make-a-gdb-dprintf-that-tells-us-load-addresses.patch @@ -1,4 +1,4 @@ -From 12174521326fa23d11446021e1057c8a6d87bd89 Mon Sep 17 00:00:00 2001 +From eb632ed489ac2418f3386f7693a01e1863843c53 Mon Sep 17 00:00:00 2001 From: Peter Jones Date: Thu, 25 Jun 2015 15:11:36 -0400 Subject: [PATCH 215/216] Make a "gdb" dprintf that tells us load addresses. diff --git a/0216-static.patch b/0216-static.patch new file mode 100644 index 0000000..29472bf --- /dev/null +++ b/0216-static.patch @@ -0,0 +1,57 @@ +From 3fa7a272a55df6ac6fe0108ee1d47b4f7a4d6456 Mon Sep 17 00:00:00 2001 +From: Peter Jones +Date: Fri, 16 Mar 2018 14:59:21 -0400 +Subject: [PATCH 216/216] static + +--- + util/grub-mkconfig_lib.in | 34 ++++++++++++++++++++++++++++++++++ + 1 file changed, 34 insertions(+) + +diff --git a/util/grub-mkconfig_lib.in b/util/grub-mkconfig_lib.in +index 70dc8d57e92..693340f6912 100644 +--- a/util/grub-mkconfig_lib.in ++++ b/util/grub-mkconfig_lib.in +@@ -128,6 +128,40 @@ EOF + fi + } + ++add_device_modules () ++{ ++ local device=$1 && shift ++ ++ old_ifs="$IFS" ++ IFS=' ++' ++ partmap="`"${grub_probe}" --device ${device} --target=partmap`" ++ for module in ${partmap} ; do ++ case "${module}" in ++ netbsd | openbsd) ++ echo "insmod part_bsd";; ++ *) ++ echo "insmod part_${module}";; ++ esac ++ done ++ ++ # Abstraction modules aren't auto-loaded. ++ abstraction="`"${grub_probe}" --device ${device} --target=abstraction`" ++ for module in ${abstraction} ; do ++ echo "insmod ${module}" ++ done ++ ++ fs="`"${grub_probe}" --device ${device} --target=fs`" ++ for module in ${fs} ; do ++ echo "insmod ${module}" ++ done ++} ++ ++get_device_uuid () ++{ ++ ++} ++ + prepare_grub_to_access_device () + { + local device=$1 && shift +-- +2.15.0 + diff --git a/grub.patches b/grub.patches index be8a143..8a4199b 100644 --- a/grub.patches +++ b/grub.patches @@ -213,3 +213,4 @@ Patch0212: 0212-Work-around-some-minor-include-path-weirdnesses.patch Patch0213: 0213-Make-it-possible-to-enabled-build-id-sha1.patch Patch0214: 0214-Add-grub_qdprintf-grub_dprintf-without-the-file-line.patch Patch0215: 0215-Make-a-gdb-dprintf-that-tells-us-load-addresses.patch +Patch0216: 0216-static.patch