summaryrefslogtreecommitdiff
path: root/config/grub/default
diff options
context:
space:
mode:
Diffstat (limited to 'config/grub/default')
-rw-r--r--config/grub/default/config/payload305
-rw-r--r--config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch90
-rw-r--r--config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch25
-rw-r--r--config/grub/default/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch107
-rw-r--r--config/grub/default/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch38
-rw-r--r--config/grub/default/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch102
-rw-r--r--config/grub/default/patches/0006-don-t-print-error-if-module-not-found.patch34
-rw-r--r--config/grub/default/patches/0007-don-t-print-empty-error-messages.patch31
-rw-r--r--config/grub/default/patches/0008-kern-coreboot-mmap-Map-to-reserved.patch37
-rw-r--r--config/grub/default/patches/0009-Revert-configure-Check-linker-for-image-base-support.patch70
-rw-r--r--config/grub/default/patches/0010-Revert-configure-Print-a-more-helpful-error-if-autoc.patch30
-rw-r--r--config/grub/default/patches/0011-bootstrap-Don-t-download-po-files.patch91
-rw-r--r--config/grub/default/target.cfg4
13 files changed, 0 insertions, 964 deletions
diff --git a/config/grub/default/config/payload b/config/grub/default/config/payload
deleted file mode 100644
index 3d84413e..00000000
--- a/config/grub/default/config/payload
+++ /dev/null
@@ -1,305 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-# Copyright (C) 2014-2016,2020-2021,2023-2025 Leah Rowe <leah@libreboot.org>
-# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org>
-
-set prefix=(memdisk)/boot/grub
-
-insmod at_keyboard
-insmod usb_keyboard
-insmod nativedisk
-insmod ehci
-insmod ohci
-insmod uhci
-insmod usb
-insmod usbms
-insmod regexp
-
-terminal_input --append at_keyboard
-terminal_input --append usb_keyboard
-terminal_output --append cbmemc
-
-# User interface overrides wherever "keystatus" is supported
-# Keep SHIFT key pressed before powering on to disable graphics
-if keystatus --shift; then
- terminal_output --append vga_text
-else
- gfxpayload=keep
- terminal_output --append gfxterm
-
- for dt in cbfsdisk memdisk; do
- for it in png jpg; do
- if [ -f (${dt})/background.${it} ]; then
- insmod ${it}
- background_image (${dt})/background.${it}
- fi
- done
- done
-fi
-
-# Keep CTRL pressed to enable default serial terminal (COM1 or the like)
-if keystatus --ctrl; then
- serial
- terminal_input --append serial
- terminal_output --append serial
-fi
-
-# Keep ALT pressed to enable spkmodem
-if keystatus --alt; then
- terminal_output --append spkmodem
-fi
-
-
-set default="0"
-if [ -f (cbfsdisk)/timeout.cfg ]; then
- source (cbfsdisk)/timeout.cfg
-else
- set timeout=8
-fi
-set grub_scan_disk="ahci ata"
-if [ -f (cbfsdisk)/scan.cfg ]; then
- source (cbfsdisk)/scan.cfg
-fi
-
-if [ -f (cbfsdisk)/keymap.gkb ]; then
- keymap (cbfsdisk)/keymap.gkb
-fi
-
-function really_try_user_config {
- set root="${1}"
-
- if [ -f /"${2}"/grub.cfg ]; then
- unset superusers
- configfile /"${2}"/grub.cfg
- fi
-}
-
-function try_user_config {
- # The @/... entries are for cases where the BTRFS filesystem is being used
- for dir in grub boot/grub @/grub @/boot/grub grub2 boot/grub2 @/grub2 @/boot/grub2 boot @/boot; do
- really_try_user_config "${1}" "${dir}"
- done
- for dir in ubuntu debian redhat; do
- really_try_user_config "${1}" "EFI/${dir}"
- done
-}
-function search_grub {
- echo -n "Attempting to load grub.cfg from '${1}' devices"
- for i in 0 1 2 3 4 5 6 7 8; do
- for part in 1 2 3 4 5 6 7 8 9 10 11 12; do
- if [ "${1}" != "nvme" ]; then
- try_user_config "(${1}${i},${part})"
- fi
- done
- if [ "${1}" != "nvme" ]; then
- # raw devices e.g. (ahci0) instead of (ahci0,1)
- try_user_config "(${1}${i})"
- fi
- done
- echo # Insert newline
-}
-
-function try_isolinux_config {
- set root="${1}"
- for dir in '' /boot /EFI /@ /@/boot; do
- if [ -f "${dir}"/isolinux/isolinux.cfg ]; then
- syslinux_configfile -i "${dir}"/isolinux/isolinux.cfg
- elif [ -f "${dir}"/syslinux/syslinux.cfg ]; then
- syslinux_configfile -s "${dir}"/syslinux/syslinux.cfg
- elif [ -f "${dir}"/syslinux/extlinux.conf ]; then
- syslinux_configfile -s "${dir}"/syslinux/extlinux.conf
- elif [ -f "${dir}"/extlinux/extlinux.conf ]; then
- syslinux_configfile -s "${dir}"/extlinux/extlinux.conf
- fi
- done
-}
-function search_isolinux {
- echo "\nAttempting to parse iso/sys/extlinux config from '${1}' devices"
- for i in 0 1 2 3 4 5 6 7 8; do
- for part in 1 2 3 4 5 6 7 8 9 10 11 12; do
- if [ "${1}" != "nvme" ]; then
- try_isolinux_config "(${1}${i},${part})"
- fi
- done
- if [ "${1}" != "nvme" ]; then
- # raw devices e.g. (usb0) instead of (usb0,1)
- try_isolinux_config "(${1}${i})"
- fi
- done
- echo # Insert newline
-}
-function try_bootcfg {
- try_user_config "${1}"
- try_isolinux_config "${1}"
-}
-function search_bootcfg {
- search_grub "${1}"
- search_isolinux "${1}"
-}
-menuentry 'Load Operating System (incl. fully encrypted disks) [o]' --hotkey='o' {
-
- for grub_disk in ${grub_scan_disk}; do
- search_bootcfg ${grub_disk}
- done
-
- # grub device enumeration is very slow, so checks are hardcoded
-
- raidvol="md/0 md/1 md/2 md/3 md/4 md/5 md/6 md/7 md/8 md/9"
-
- # in practise, doing multiple redundant checks is perfectly fast
- # TODO: optimize grub itself, and use */? here for everything
-
- for vol in ${raidvol} ; do
- try_bootcfg "${vol}"
- done
-
- unset bootdev
- for grub_disk in ${grub_scan_disk}; do
- for i in 0 1 2 3 4 5 6 7 8; do
- for part in 1 2 3 4 5 6 7 8 9 10 11 12; do
- if [ "${grub_disk}" = "ahci" ]; then
- bootdev="${bootdev} (ahci${i},${part})"
- elif [ "${grub_disk}" = "ata" ]; then
- bootdev="${bootdev} (ata${i},${part})"
- elif [ "${grub_disk}" = "nvme" ]; then
- # TODO: do we care about other namesapces
- bootdev="${bootdev} (nvme${i}n1,${part})"
- fi
- done
- done
- done
-
- set pager=0
- echo -n "Attempting to unlock encrypted volumes"
- for dev in ${bootdev} ${raidvol}; do
- if cryptomount "${dev}" ; then break ; fi
- done
- set pager=1
- echo
-
- search_bootcfg crypto
-
- lvmvol=""
-
- # after cryptomount, lvm volumes might be available
- # using * is slow on some machines, but we use it here,
- # just once. in so doing, we find every lvm volume
- for vol in (*); do
- if regexp ^\\(lvm/ $vol; then
- lvmvol="${lvmvol} ${vol}"
- try_bootcfg "${vol}"
- fi
- done
-
- # user might have put luks inside lvm
- set pager=0
- echo "Attempting to unlock encrypted LVMs"
- for vol in ${lvmvol}; do
- cryptomount "$vol"
- done
- set pager=1
- echo
-
- search_bootcfg crypto
-
- true # Prevent pager requiring to accept each line instead of whole screen
-}
-
-menuentry 'Search for GRUB/SYSLINUX/EXTLINUX/ISOLINUX on USB [s]' --hotkey='s' {
- search_bootcfg usb
-}
-menuentry 'Search for GRUB/SYSLINUX/EXTLINUX/ISOLINUX on AHCI [a]' --hotkey='a' {
- search_bootcfg ahci
-}
-menuentry 'Search for GRUB/SYSLINUX/EXTLINUX/ISOLINUX on ATA/IDE [d]' --hotkey='d' {
- search_bootcfg ata
-}
-if [ -f (cbfsdisk)/grub.cfg ]; then
-menuentry 'Load configuration (grub.cfg) in CBFS [t]' --hotkey='t' {
- set root='(cbfsdisk)'
- if [ -f /grub.cfg ]; then
- configfile /grub.cfg
- fi
-}
-fi
-if [ -f (cbfsdisk)/grubtest.cfg ]; then
-menuentry 'Load test configuration (grubtest.cfg) inside of CBFS [t]' --hotkey='t' {
- set root='(cbfsdisk)'
- if [ -f /grubtest.cfg ]; then
- configfile /grubtest.cfg
- fi
-}
-fi
-if [ -f (cbfsdisk)/u-boot ]; then
-menuentry 'U-Boot i386 payload (experimental) [u]' --hotkey='u' {
- set root='cbfsdisk'
- chainloader /u-boot
-}
-fi
-if [ -f (cbfsdisk)/seabios.elf ]; then
-if [ -f (cbfsdisk)/img/u-boot ]; then
-menuentry 'Load SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' {
- set root='cbfsdisk'
- chainloader /seabios.elf
-}
-else
-menuentry 'Load SeaBIOS [b]' --hotkey='b' {
- set root='cbfsdisk'
- chainloader /seabios.elf
-}
-fi
-fi
-if [ -f (cbfsdisk)/img/grub2 ]; then
-if [ -f (cbfsdisk)/img/u-boot ]; then
-menuentry 'Return to SeaBIOS (U-Boot UEFI available in the ESC menu) [b]' --hotkey='b' {
- set root='cbfsdisk'
- chainloader /fallback/payload
-}
-else
-menuentry 'Return to SeaBIOS [b]' --hotkey='b' {
- set root='cbfsdisk'
- chainloader /fallback/payload
-}
-fi
-fi
-menuentry 'Poweroff [p]' --hotkey='p' {
- halt
-}
-menuentry 'Reboot [r]' --hotkey='r' {
- reboot
-}
-if [ -f (cbfsdisk)/img/memtest ]; then
-menuentry 'Load MemTest86+ [m]' --hotkey='m' {
- set root='cbfsdisk'
- chainloader /img/memtest
-}
-fi
-
-submenu 'Other [z]' --hotkey='z' {
- menuentry 'Enable default serial terminal [s]' --hotkey='s' {
- serial
- terminal_input --append serial
- terminal_output --append serial
- }
-
- menuentry 'Disable default serial terminal' {
- terminal_input --remove serial
- terminal_output --remove serial
- }
-
- menuentry 'Enable gfxterm' {
- terminal_output --append gfxterm
- terminal_output --remove vga_text
- }
- menuentry 'Disable gfxterm [g]' --hotkey='g' {
- terminal_output --remove gfxterm
- terminal_output --append vga_text
- }
-
- menuentry 'Enable spkmodem [a]' --hotkey='a' {
- terminal_output --append spkmodem
- }
-
- menuentry 'Disable spkmodem [z]' --hotkey='z' {
- terminal_output --remove spkmodem
- }
-}
diff --git a/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch b/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
deleted file mode 100644
index 7112b0aa..00000000
--- a/config/grub/default/patches/0001-mitigate-grub-s-missing-characters-for-borders-arrow.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 5a2c887181e7cdbd6b38d544e460d02623c902e6 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Sun, 31 Oct 2021 03:47:05 +0000
-Subject: [PATCH 01/10] mitigate grub's missing characters for borders/arrow
- characters
-
-This cleans up the display on the main screen in GRUB.
-
-Just don't draw a border, at all.
----
- grub-core/normal/menu_text.c | 49 ++----------------------------------
- 1 file changed, 2 insertions(+), 47 deletions(-)
-
-diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
-index 9c383e64a..8ec1dd1e8 100644
---- a/grub-core/normal/menu_text.c
-+++ b/grub-core/normal/menu_text.c
-@@ -108,47 +108,6 @@ grub_print_message_indented (const char *msg, int margin_left, int margin_right,
- grub_print_message_indented_real (msg, margin_left, margin_right, term, 0);
- }
-
--static void
--draw_border (struct grub_term_output *term, const struct grub_term_screen_geometry *geo)
--{
-- int i;
--
-- grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
--
-- grub_term_gotoxy (term, (struct grub_term_coordinate) { geo->first_entry_x - 1,
-- geo->first_entry_y - 1 });
-- grub_putcode (GRUB_UNICODE_CORNER_UL, term);
-- for (i = 0; i < geo->entry_width + 1; i++)
-- grub_putcode (GRUB_UNICODE_HLINE, term);
-- grub_putcode (GRUB_UNICODE_CORNER_UR, term);
--
-- for (i = 0; i < geo->num_entries; i++)
-- {
-- grub_term_gotoxy (term, (struct grub_term_coordinate) { geo->first_entry_x - 1,
-- geo->first_entry_y + i });
-- grub_putcode (GRUB_UNICODE_VLINE, term);
-- grub_term_gotoxy (term,
-- (struct grub_term_coordinate) { geo->first_entry_x + geo->entry_width + 1,
-- geo->first_entry_y + i });
-- grub_putcode (GRUB_UNICODE_VLINE, term);
-- }
--
-- grub_term_gotoxy (term,
-- (struct grub_term_coordinate) { geo->first_entry_x - 1,
-- geo->first_entry_y - 1 + geo->num_entries + 1 });
-- grub_putcode (GRUB_UNICODE_CORNER_LL, term);
-- for (i = 0; i < geo->entry_width + 1; i++)
-- grub_putcode (GRUB_UNICODE_HLINE, term);
-- grub_putcode (GRUB_UNICODE_CORNER_LR, term);
--
-- grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
--
-- grub_term_gotoxy (term,
-- (struct grub_term_coordinate) { geo->first_entry_x - 1,
-- (geo->first_entry_y - 1 + geo->num_entries
-- + GRUB_TERM_MARGIN + 1) });
--}
--
- static int
- print_message (int nested, int edit, struct grub_term_output *term, int dry_run)
- {
-@@ -167,10 +126,8 @@ command-line or ESC to discard edits and return to the GRUB menu."),
- {
- char *msg_translated;
-
-- msg_translated = grub_xasprintf (_("Use the %C and %C keys to select which "
-- "entry is highlighted."),
-- GRUB_UNICODE_UPARROW,
-- GRUB_UNICODE_DOWNARROW);
-+ msg_translated = grub_xasprintf (_("Use the arrow keys to select which "
-+ "entry is highlighted."));
- if (!msg_translated)
- return 0;
- ret += grub_print_message_indented_real (msg_translated, STANDARD_MARGIN,
-@@ -413,8 +370,6 @@ grub_menu_init_page (int nested, int edit,
-
- grub_term_normal_color = grub_color_menu_normal;
- grub_term_highlight_color = grub_color_menu_highlight;
-- if (geo->border)
-- draw_border (term, geo);
- grub_term_normal_color = old_color_normal;
- grub_term_highlight_color = old_color_highlight;
- geo->timeout_y = geo->first_entry_y + geo->num_entries
---
-2.47.3
-
diff --git a/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch b/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
deleted file mode 100644
index af139ffc..00000000
--- a/config/grub/default/patches/0002-say-the-name-libreboot-in-the-grub-menu.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 25d7d35e0af74361a5510c3e6313b8ce5e00cd6a Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Sat, 19 Nov 2022 16:30:24 +0000
-Subject: [PATCH 02/10] say the name libreboot, in the grub menu
-
----
- grub-core/normal/main.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
-index de9a3f961..bed502cde 100644
---- a/grub-core/normal/main.c
-+++ b/grub-core/normal/main.c
-@@ -215,7 +215,7 @@ grub_normal_init_page (struct grub_term_output *term,
-
- grub_term_cls (term);
-
-- msg_formatted = grub_xasprintf (_("GNU GRUB version %s"), PACKAGE_VERSION);
-+ msg_formatted = grub_xasprintf (_("Libreboot 26.01 Magnanimous Max (GRUB menu): https://libreboot.org/"));
- if (!msg_formatted)
- return;
-
---
-2.47.3
-
diff --git a/config/grub/default/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch b/config/grub/default/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch
deleted file mode 100644
index bb07abd6..00000000
--- a/config/grub/default/patches/0003-at_keyboard-coreboot-force-scancodes2-translate.patch
+++ /dev/null
@@ -1,107 +0,0 @@
-From acff2df937bb4172f9bdb46d12e82edbbcad7996 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Mon, 30 Oct 2023 22:19:21 +0000
-Subject: [PATCH 03/10] at_keyboard coreboot: force scancodes2+translate
-
-Scan code set 2 with translation should be assumed in
-every case, as the default starting position.
-
-However, GRUB is trying to detect and use other modes
-such as set 2 without translation, or set 1 without
-translation from set 2; it also detects no-mode and
-assumes mode 1, on really old keyboards.
-
-The current behaviour has been retained, for everything
-except GRUB_MACHINE_COREBOOT; for the latter, scan code
-set 2 with translation is hardcoded, and forced in code.
-
-This is required to make keyboard initialisation work on
-the MEC5035 EC used by the Dell Latitude E6400, when
-running GRUB as a coreboot payload on that laptop. The
-EC reports scancode set 2 with translation when probed,
-but actually only outputs scancode set 1.
-
-Since GRUB is attempting to use it without translation,
-and since the machine reports set 2 with translation,
-but only ever outputs set 1 scancodes, this results in
-wrong keypresses for every key.
-
-This fix fixed that, by forcing set 2 with translation,
-treating it as set 1, but only on coreboot. This is the
-same behaviour used in GNU+Linux systems and SeaBIOS.
-With this change, GRUB keyboard initialisation now works
-just fine on those machines.
-
-This has *also* been tested on other coreboot machines
-running GRUB; several HP EliteBooks, ThinkPads and
-Dell Precision T1650. All seems to work just fine.
-
-Signed-off-by: Leah Rowe <leah@libreboot.org>
----
- grub-core/term/at_keyboard.c | 20 ++++++++++++++++++--
- 1 file changed, 18 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c
-index f8a129eb7..8207225c2 100644
---- a/grub-core/term/at_keyboard.c
-+++ b/grub-core/term/at_keyboard.c
-@@ -138,6 +138,7 @@ write_mode (int mode)
- return (i != GRUB_AT_TRIES);
- }
-
-+#if !defined (GRUB_MACHINE_COREBOOT)
- static int
- query_mode (void)
- {
-@@ -161,10 +162,12 @@ query_mode (void)
- return 3;
- return 0;
- }
-+#endif
-
- static void
- set_scancodes (void)
- {
-+#if !defined (GRUB_MACHINE_COREBOOT)
- /* You must have visited computer museum. Keyboard without scancode set
- knowledge. Assume XT. */
- if (!grub_keyboard_orig_set)
-@@ -173,20 +176,33 @@ set_scancodes (void)
- ps2_state.current_set = 1;
- return;
- }
-+#endif
-
- #if !USE_SCANCODE_SET
- ps2_state.current_set = 1;
- return;
--#else
-+#endif
-
-+#if defined (GRUB_MACHINE_COREBOOT)
-+ /* enable translation */
-+ grub_keyboard_controller_write (grub_keyboard_controller_orig
-+ & ~KEYBOARD_AT_DISABLE);
-+#else
-+ /* if not coreboot, disable translation and try mode 2 first, before 1 */
- grub_keyboard_controller_write (grub_keyboard_controller_orig
- & ~KEYBOARD_AT_TRANSLATE
- & ~KEYBOARD_AT_DISABLE);
-+#endif
-
- keyboard_controller_wait_until_ready ();
- grub_outb (KEYBOARD_COMMAND_ENABLE, KEYBOARD_REG_DATA);
--
- write_mode (2);
-+
-+#if defined (GRUB_MACHINE_COREBOOT)
-+ /* mode 2 with translation, so make grub treat as set 1 */
-+ ps2_state.current_set = 1;
-+#else
-+ /* if not coreboot, translation isn't set; test 2 and fall back to 1 */
- ps2_state.current_set = query_mode ();
- grub_dprintf ("atkeyb", "returned set %d\n", ps2_state.current_set);
- if (ps2_state.current_set == 2)
---
-2.47.3
-
diff --git a/config/grub/default/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch b/config/grub/default/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch
deleted file mode 100644
index fbcbb2c3..00000000
--- a/config/grub/default/patches/0004-keylayouts-don-t-print-Unknown-key-message.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 247133e1f9820bcb81f7d27fc1395d64dc7b0a89 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Tue, 31 Oct 2023 10:33:28 +0000
-Subject: [PATCH 04/10] keylayouts: don't print "Unknown key" message
-
-on keyboards with stuck keys, this results in GRUB just
-spewing it repeatedly, preventing use of GRUB.
-
-in such cases, it's still possible to use the keyboard,
-and we should let the user at least boot.
-
-it often appears when people plug in faulty usb keyboards,
-but can appear for laptop keyboards too; one of my e6400
-has stuck keys.
-
-with this patch, grub should be a bit more reliable in
-terms of user experience, when the keyboard is faulty.
-
-Signed-off-by: Leah Rowe <leah@libreboot.org>
----
- grub-core/commands/keylayouts.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/grub-core/commands/keylayouts.c b/grub-core/commands/keylayouts.c
-index aa3ba34f2..445fa0601 100644
---- a/grub-core/commands/keylayouts.c
-+++ b/grub-core/commands/keylayouts.c
-@@ -174,7 +174,6 @@ grub_term_map_key (grub_keyboard_key_t code, int status)
- key = map_key_core (code, status, &alt_gr_consumed);
-
- if (key == 0 || key == GRUB_TERM_SHIFT) {
-- grub_printf ("Unknown key 0x%x detected\n", code);
- return GRUB_TERM_NO_KEY;
- }
-
---
-2.47.3
-
diff --git a/config/grub/default/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch b/config/grub/default/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch
deleted file mode 100644
index 93b0c505..00000000
--- a/config/grub/default/patches/0005-don-t-print-missing-prefix-errors-on-the-screen.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From c5ad46b7ba93136764fd1eae1bd0c0c32ce1c5b2 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Sun, 5 Nov 2023 16:14:58 +0000
-Subject: [PATCH 05/10] don't print missing prefix errors on the screen
-
-we do actually set the prefix. this patch modifies
-grub to still set grub_errno and return accordingly,
-so the behaviour is otherwise identical, but it will
-no longer print a warning message on the screen.
-
-Signed-off-by: Leah Rowe <leah@libreboot.org>
----
- grub-core/commands/keylayouts.c | 2 +-
- grub-core/commands/loadenv.c | 2 +-
- grub-core/commands/nativedisk.c | 2 +-
- grub-core/efiemu/main.c | 3 +--
- grub-core/font/font.c | 2 +-
- grub-core/kern/dl.c | 2 +-
- 6 files changed, 6 insertions(+), 7 deletions(-)
-
-diff --git a/grub-core/commands/keylayouts.c b/grub-core/commands/keylayouts.c
-index 445fa0601..00bcf7025 100644
---- a/grub-core/commands/keylayouts.c
-+++ b/grub-core/commands/keylayouts.c
-@@ -211,7 +211,7 @@ grub_cmd_keymap (struct grub_command *cmd __attribute__ ((unused)),
- {
- const char *prefix = grub_env_get ("prefix");
- if (!prefix)
-- return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("variable `%s' isn't set"), "prefix");
-+ return (grub_errno = GRUB_ERR_BAD_ARGUMENT);
- filename = grub_xasprintf ("%s/layouts/%s.gkb", prefix, argv[0]);
- if (!filename)
- return grub_errno;
-diff --git a/grub-core/commands/loadenv.c b/grub-core/commands/loadenv.c
-index 166445849..699b39bfa 100644
---- a/grub-core/commands/loadenv.c
-+++ b/grub-core/commands/loadenv.c
-@@ -58,7 +58,7 @@ open_envblk_file (char *filename,
- prefix = grub_env_get ("prefix");
- if (! prefix)
- {
-- grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix");
-+ grub_errno = GRUB_ERR_FILE_NOT_FOUND;
- return 0;
- }
-
-diff --git a/grub-core/commands/nativedisk.c b/grub-core/commands/nativedisk.c
-index 580c8d3b0..6806bff9c 100644
---- a/grub-core/commands/nativedisk.c
-+++ b/grub-core/commands/nativedisk.c
-@@ -186,7 +186,7 @@ grub_cmd_nativedisk (grub_command_t cmd __attribute__ ((unused)),
- prefix = grub_env_get ("prefix");
-
- if (! prefix)
-- return grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix");
-+ return (grub_errno = GRUB_ERR_FILE_NOT_FOUND);
-
- if (prefix)
- path_prefix = (prefix[0] == '(') ? grub_strchr (prefix, ')') : NULL;
-diff --git a/grub-core/efiemu/main.c b/grub-core/efiemu/main.c
-index e7037f4ed..e5d4dbff1 100644
---- a/grub-core/efiemu/main.c
-+++ b/grub-core/efiemu/main.c
-@@ -231,8 +231,7 @@ grub_efiemu_autocore (void)
- prefix = grub_env_get ("prefix");
-
- if (! prefix)
-- return grub_error (GRUB_ERR_FILE_NOT_FOUND,
-- N_("variable `%s' isn't set"), "prefix");
-+ return (grub_errno = GRUB_ERR_FILE_NOT_FOUND);
-
- suffix = grub_efiemu_get_default_core_name ();
-
-diff --git a/grub-core/font/font.c b/grub-core/font/font.c
-index 18de52562..2a0fea6c8 100644
---- a/grub-core/font/font.c
-+++ b/grub-core/font/font.c
-@@ -461,7 +461,7 @@ grub_font_load (const char *filename)
-
- if (!prefix)
- {
-- grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix");
-+ grub_errno = GRUB_ERR_FILE_NOT_FOUND;
- goto fail;
- }
- file = try_open_from_prefix (prefix, filename);
-diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index de8c3aa8d..eac3ea48d 100644
---- a/grub-core/kern/dl.c
-+++ b/grub-core/kern/dl.c
-@@ -880,7 +880,7 @@ grub_dl_load (const char *name)
- return 0;
-
- if (! grub_dl_dir) {
-- grub_error (GRUB_ERR_FILE_NOT_FOUND, N_("variable `%s' isn't set"), "prefix");
-+ grub_errno = GRUB_ERR_FILE_NOT_FOUND;
- return 0;
- }
-
---
-2.47.3
-
diff --git a/config/grub/default/patches/0006-don-t-print-error-if-module-not-found.patch b/config/grub/default/patches/0006-don-t-print-error-if-module-not-found.patch
deleted file mode 100644
index 2dbf6d87..00000000
--- a/config/grub/default/patches/0006-don-t-print-error-if-module-not-found.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 6522ceca8949105b2e1575ada2f05b3061bfe8f3 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Sun, 5 Nov 2023 16:36:22 +0000
-Subject: [PATCH 06/10] don't print error if module not found
-
-still set grub_errno accordingly, and otherwise
-behave the same. in libreboot, we remove a lot of
-modules but then rely on loading a grub.cfg
-provided by a distro; in almost all cases that works,
-but also in almost all cases, that will try to load
-a module we don't actually need, but then it prints
-a message. this can annoy some users, so silence it.
-
-Signed-off-by: Leah Rowe <leah@libreboot.org>
----
- grub-core/kern/dl.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/grub-core/kern/dl.c b/grub-core/kern/dl.c
-index eac3ea48d..6d67ba54f 100644
---- a/grub-core/kern/dl.c
-+++ b/grub-core/kern/dl.c
-@@ -510,7 +510,7 @@ grub_dl_resolve_name (grub_dl_t mod, Elf_Ehdr *e)
-
- s = grub_dl_find_section (e, ".modname");
- if (!s)
-- return grub_error (GRUB_ERR_BAD_MODULE, "no module name found");
-+ return (grub_errno = GRUB_ERR_BAD_MODULE);
-
- mod->name = grub_strdup ((char *) e + s->sh_offset);
- if (! mod->name)
---
-2.47.3
-
diff --git a/config/grub/default/patches/0007-don-t-print-empty-error-messages.patch b/config/grub/default/patches/0007-don-t-print-empty-error-messages.patch
deleted file mode 100644
index 67ae7d66..00000000
--- a/config/grub/default/patches/0007-don-t-print-empty-error-messages.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 557d3e583e6aaa887d7b3876c6980ba0e0e671a3 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Sun, 5 Nov 2023 17:25:20 +0000
-Subject: [PATCH 07/10] don't print empty error messages
-
-this is part two of the quest to kill the prefix
-error message. after i disabled prefix-related
-messages, it still printed "error: ." on screen.
-
-Signed-off-by: Leah Rowe <leah@libreboot.org>
----
- grub-core/kern/err.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/grub-core/kern/err.c b/grub-core/kern/err.c
-index ba04b57fb..dab62646d 100644
---- a/grub-core/kern/err.c
-+++ b/grub-core/kern/err.c
-@@ -116,7 +116,8 @@ grub_print_error (void)
- {
- if (grub_errno != GRUB_ERR_NONE)
- {
-- grub_err_printf (_("error: %s.\n"), grub_errmsg);
-+ if (grub_strlen(grub_errmsg) > 0)
-+ grub_err_printf (_("error: %s.\n"), grub_errmsg);
- grub_err_printed_errors++;
- }
- }
---
-2.47.3
-
diff --git a/config/grub/default/patches/0008-kern-coreboot-mmap-Map-to-reserved.patch b/config/grub/default/patches/0008-kern-coreboot-mmap-Map-to-reserved.patch
deleted file mode 100644
index 7ce1bf09..00000000
--- a/config/grub/default/patches/0008-kern-coreboot-mmap-Map-to-reserved.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 101ea5afcfbe459e624df27c422f59b4ded07000 Mon Sep 17 00:00:00 2001
-From: Paul Menzel <pmenzel@molgen.mpg.de>
-Date: Mon, 17 May 2021 10:24:36 +0200
-Subject: [PATCH 08/10] kern/coreboot/mmap: Map to reserved
-
-https://git.savannah.gnu.org/cgit/grub.git/commit/?id=6de9ee86bf9ae50967413e6a73b5dfd13e5ffb50
-
-Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
----
- grub-core/kern/coreboot/mmap.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/kern/coreboot/mmap.c b/grub-core/kern/coreboot/mmap.c
-index caf8f7cef..2fc316e8d 100644
---- a/grub-core/kern/coreboot/mmap.c
-+++ b/grub-core/kern/coreboot/mmap.c
-@@ -59,7 +59,7 @@ iterate_linuxbios_table (grub_linuxbios_table_item_t table_item, void *data)
- /* Multiboot mmaps match with the coreboot mmap
- definition. Therefore, we can just pass type
- through. */
-- mem_region->type,
-+ (mem_region->type >= 13) ? 2 : mem_region->type,
- ctx->hook_data))
- return 1;
- if (start < 0xa0000)
-@@ -81,7 +81,7 @@ iterate_linuxbios_table (grub_linuxbios_table_item_t table_item, void *data)
- /* Multiboot mmaps match with the coreboot mmap
- definition. Therefore, we can just pass type
- through. */
-- mem_region->type,
-+ (mem_region->type >= 13) ? 2 : mem_region->type,
- ctx->hook_data))
- return 1;
- }
---
-2.47.3
-
diff --git a/config/grub/default/patches/0009-Revert-configure-Check-linker-for-image-base-support.patch b/config/grub/default/patches/0009-Revert-configure-Check-linker-for-image-base-support.patch
deleted file mode 100644
index 9bb2563d..00000000
--- a/config/grub/default/patches/0009-Revert-configure-Check-linker-for-image-base-support.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From a56ceedd60bd6515ad3c84ec6aa4c3d66a8bac87 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Wed, 24 Dec 2025 01:42:17 +0100
-Subject: [PATCH 09/10] Revert "configure: Check linker for --image-base
- support"
-
-This reverts commit 1a5417f39a0ccefcdd5440f2a67f84d2d2e26960.
----
- acinclude.m4 | 5 -----
- configure.ac | 14 ++------------
- 2 files changed, 2 insertions(+), 17 deletions(-)
-
-diff --git a/acinclude.m4 b/acinclude.m4
-index 70c1912f8..fa7840f09 100644
---- a/acinclude.m4
-+++ b/acinclude.m4
-@@ -79,11 +79,6 @@ AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE],
- [AC_MSG_CHECKING([whether ${TARGET_OBJCOPY} works for absolute addresses])
- AC_CACHE_VAL(grub_cv_prog_objcopy_absolute,
- [cat > conftest.c <<\EOF
--asm (
-- ".globl start, _start, __start\n"
-- ".ifdef cmain; .set start = _start = __start = cmain\n.endif\n"
-- ".ifdef _cmain; .set start = _start = __start = _cmain\n.endif\n"
--);
- void cmain (void);
- void
- cmain (void)
-diff --git a/configure.ac b/configure.ac
-index d8ca1b7c1..041cfbab4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1461,6 +1461,7 @@ elif test x$grub_cv_target_cc_link_format = x-mi386pe || test x$grub_cv_target_c
- TARGET_IMG_LDSCRIPT='$(top_srcdir)'"/conf/i386-cygwin-img-ld.sc"
- TARGET_IMG_LDFLAGS="-Wl,-T${TARGET_IMG_LDSCRIPT}"
- TARGET_IMG_LDFLAGS_AC="-Wl,-T${srcdir}/conf/i386-cygwin-img-ld.sc"
-+ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
- TARGET_IMG_CFLAGS=
- else
- TARGET_APPLE_LINKER=0
-@@ -1468,6 +1469,7 @@ else
- TARGET_IMG_LDSCRIPT=
- TARGET_IMG_LDFLAGS='-Wl,-N'
- TARGET_IMG_LDFLAGS_AC='-Wl,-N'
-+ TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"
- TARGET_IMG_CFLAGS=
- fi
-
-@@ -1798,18 +1800,6 @@ grub_PROG_TARGET_CC
- m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])])
-
- if test "x$TARGET_APPLE_LINKER" != x1 ; then
--AX_CHECK_LINK_FLAG([-Wl,--image-base,0x400000],
-- [TARGET_IMG_BASE_LDOPT="-Wl,--image-base"],
-- [TARGET_IMG_BASE_LDOPT="-Wl,-Ttext"],
-- [],
-- [AC_LANG_SOURCE([
--asm (".globl start; start:");
--asm (".globl _start; _start:");
--asm (".globl __start; __start:");
--void __main (void);
--void __main (void) {}
--int main (void);
-- ])])
- grub_PROG_OBJCOPY_ABSOLUTE
- fi
- grub_PROG_LD_BUILD_ID_NONE
---
-2.47.3
-
diff --git a/config/grub/default/patches/0010-Revert-configure-Print-a-more-helpful-error-if-autoc.patch b/config/grub/default/patches/0010-Revert-configure-Print-a-more-helpful-error-if-autoc.patch
deleted file mode 100644
index 0c968993..00000000
--- a/config/grub/default/patches/0010-Revert-configure-Print-a-more-helpful-error-if-autoc.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 66028b6bc149a25894fe5ca395b22804f389a18e Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Mon, 19 Jan 2026 15:27:23 +0000
-Subject: [PATCH 10/10] Revert "configure: Print a more helpful error if
- autoconf-archive is not installed"
-
-This reverts commit ac042f3f58d33ce9cd5ff61750f06da1a1d7b0eb.
----
- configure.ac | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 041cfbab4..209c0fb11 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1794,11 +1794,6 @@ LIBS=""
- # Defined in acinclude.m4.
- grub_ASM_USCORE
- grub_PROG_TARGET_CC
--
--# The error message produced by autoconf if autoconf-archive is not installed is
--# quite misleading and not very helpful. So, try point people in the right direction.
--m4_ifndef([AX_CHECK_LINK_FLAG], [m4_fatal([autoconf-archive is missing. You must install it to generate the configure script.])])
--
- if test "x$TARGET_APPLE_LINKER" != x1 ; then
- grub_PROG_OBJCOPY_ABSOLUTE
- fi
---
-2.47.3
-
diff --git a/config/grub/default/patches/0011-bootstrap-Don-t-download-po-files.patch b/config/grub/default/patches/0011-bootstrap-Don-t-download-po-files.patch
deleted file mode 100644
index cfb66047..00000000
--- a/config/grub/default/patches/0011-bootstrap-Don-t-download-po-files.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 5d18c96a22d98d137ea40bfc6aabadce933c2d45 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <leah@libreboot.org>
-Date: Sun, 1 Feb 2026 20:30:55 +0100
-Subject: [PATCH 1/1] bootstrap: Don't download po files
-
-GRUB doesn't verify checksums at all, and it pulls from
-this URL recursively:
-
-https://translationproject.org/latest/grub/
-
-These files can change at any time, and GRUB is just
-downloading them trustingly. Even if the upstream is
-totally benevolent, what if they got hacked?
-
-I downloaded them, hashed them and decided to mirror
-them on my RSYNC mirror. In this way, Libreboot can now
-use them in a deterministic fashion.
-
-Simply adding them to the GRUB source code would mean
-patching GRUB, which would add 8MB to lbmk. I won't do
-it.
-
-Signed-off-by: Leah Rowe <leah@libreboot.org>
----
- bootstrap | 31 +++++++++++++------------------
- 1 file changed, 13 insertions(+), 18 deletions(-)
-
-diff --git a/bootstrap b/bootstrap
-index dc9fb4383..9fc5a5c36 100755
---- a/bootstrap
-+++ b/bootstrap
-@@ -1,5 +1,16 @@
- #! /bin/sh
--# DO NOT EDIT! GENERATED AUTOMATICALLY!
-+# THIS FILE WAS EDITED BY LIBREBOOT TO REMOVE
-+# HACKY GRUB BEHAVIOUR; po files now downloaded
-+# by lbmk, via config/submodule/grub/ - so that
-+# versioned files are possible, with proper checksum
-+# verification, and mirrors are used.
-+
-+# Yes. This file has been modified. I intend to
-+# eventually remove this hacky script. Probably
-+# replace the entire GRUB build system.
-+
-+# Please do fix/edit or (when possible) remove
-+# this file. Thank you.
-
- # Bootstrap this package from checked-out sources.
-
-@@ -145,13 +156,6 @@ bootstrap_post_import_hook() { :; }
- # Override it via your own definition in bootstrap.conf.
- bootstrap_epilogue() { :; }
-
--# The command to download all .po files for a specified domain into a
--# specified directory. Fill in the first %s with the destination
--# directory and the second with the domain name.
--po_download_command_format=\
--"wget --mirror --level=1 -nd -nv -A.po -P '%s' \
-- https://translationproject.org/latest/%s/"
--
- # When extracting the package name from an AC_INIT invocation,
- # prefer a non-empty tarname (4th argument of AC_INIT if given), else
- # fall back to the package name (1st argument with munging).
-@@ -909,14 +913,6 @@ autopull()
-
- # ----------------------------- Get translations. -----------------------------
-
--download_po_files() {
-- subdir=$1
-- domain=$2
-- echo "$me: getting translations into $subdir for $domain..."
-- cmd=$(printf "$po_download_command_format" "$subdir" "$domain")
-- eval "$cmd"
--}
--
- # Mirror .po files to $po_dir/.reference and copy only the new
- # or modified ones into $po_dir. Also update $po_dir/LINGUAS.
- # Note po files that exist locally only are left in $po_dir but will
-@@ -932,8 +928,7 @@ update_po_files() {
- ref_po_dir="$po_dir/.reference"
-
- test -d $ref_po_dir || mkdir $ref_po_dir || return
-- download_po_files $ref_po_dir $domain \
-- && ls "$ref_po_dir"/*.po 2>/dev/null |
-+ ls "$ref_po_dir"/*.po 2>/dev/null |
- sed 's|.*/||; s|\.po$||' > "$po_dir/LINGUAS" || return
-
- for po in x $(ls $ref_po_dir | sed -n 's/\.po$//p'); do
---
-2.47.3
-
diff --git a/config/grub/default/target.cfg b/config/grub/default/target.cfg
deleted file mode 100644
index 2ce61fff..00000000
--- a/config/grub/default/target.cfg
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-tree="default"
-rev="eaa3b8f0f90605a82c6bfda4c5c4b73c58eb81ac"