grub: Update to version 2.14

Message ID 20260508103008.36823-4-adolf.belka@ipfire.org
State Staged
Commit adff89e067405ad7f341b9acee6687c84543cb33
Headers
Series grub: Update to version 2.14 |

Commit Message

Adolf Belka 8 May 2026, 10:30 a.m. UTC
- Update from version commit 0e36779-bootstrapped to 2.14
- Update of rootfiles for all three architectures.
- When grub-2.14 install was first tested it failed at the creation of the flash images
   due to a problem with the base address used. This was also a problem for
   distributions. Arch Linux, NixOS, Libreboot have all reverted two commits to get
   grub-2.14 working correctly. I suspect other distros have also done that.
- The revert patches used here have been created based on the ones applied in the grub
   repo. The actual ones could not be directly used as they have been created based
   on 2.14 plus some other commits that change the files being modified.
- All three architectures have been tested in builds to confirm that the flash-images
   lfs build worked, which they all did.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/aarch64/grub          | 70 ++++++++++++++++
 config/rootfiles/common/riscv64/grub          | 70 ++++++++++++++++
 config/rootfiles/common/x86_64/grub           | 84 +++++++++++++++++++
 lfs/grub                                      | 12 +--
 ...any-instead-of-large-model-for-RISCV.patch |  0
 ...heck_linker_for_--image-base_support.patch | 53 ++++++++++++
 ...if_autoconf-archive_is_not_installed.patch | 15 ++++
 7 files changed, 299 insertions(+), 5 deletions(-)
 rename src/patches/{ => grub}/grub-2.12-Use-medany-instead-of-large-model-for-RISCV.patch (100%)
 create mode 100644 src/patches/grub/grub-2.14-Revert-configure:_Check_linker_for_--image-base_support.patch
 create mode 100644 src/patches/grub/grub-2.14-Revert-configure:_Print_a_more_helpful_error_if_autoconf-archive_is_not_installed.patch
  

Patch

diff --git a/config/rootfiles/common/aarch64/grub b/config/rootfiles/common/aarch64/grub
index 2d2370771..83166a61c 100644
--- a/config/rootfiles/common/aarch64/grub
+++ b/config/rootfiles/common/aarch64/grub
@@ -47,6 +47,10 @@  usr/lib/grub/arm64-efi/all_video.mod
 usr/lib/grub/arm64-efi/all_video.module
 usr/lib/grub/arm64-efi/archelp.mod
 usr/lib/grub/arm64-efi/archelp.module
+usr/lib/grub/arm64-efi/argon2.mod
+usr/lib/grub/arm64-efi/argon2.module
+usr/lib/grub/arm64-efi/argon2_test.mod
+usr/lib/grub/arm64-efi/argon2_test.module
 usr/lib/grub/arm64-efi/asn1.mod
 usr/lib/grub/arm64-efi/asn1.module
 usr/lib/grub/arm64-efi/asn1_test.mod
@@ -61,6 +65,8 @@  usr/lib/grub/arm64-efi/bli.mod
 usr/lib/grub/arm64-efi/bli.module
 usr/lib/grub/arm64-efi/blocklist.mod
 usr/lib/grub/arm64-efi/blocklist.module
+usr/lib/grub/arm64-efi/blsuki.mod
+usr/lib/grub/arm64-efi/blsuki.module
 usr/lib/grub/arm64-efi/boot.mod
 usr/lib/grub/arm64-efi/boot.module
 usr/lib/grub/arm64-efi/bswap_test.mod
@@ -92,6 +98,8 @@  usr/lib/grub/arm64-efi/crc64.module
 usr/lib/grub/arm64-efi/crypto.lst
 usr/lib/grub/arm64-efi/crypto.mod
 usr/lib/grub/arm64-efi/crypto.module
+usr/lib/grub/arm64-efi/crypto_cipher_mode_test.mod
+usr/lib/grub/arm64-efi/crypto_cipher_mode_test.module
 usr/lib/grub/arm64-efi/cryptodisk.mod
 usr/lib/grub/arm64-efi/cryptodisk.module
 usr/lib/grub/arm64-efi/ctz_test.mod
@@ -176,8 +184,12 @@  usr/lib/grub/arm64-efi/gcry_gost28147.mod
 usr/lib/grub/arm64-efi/gcry_gost28147.module
 usr/lib/grub/arm64-efi/gcry_gostr3411_94.mod
 usr/lib/grub/arm64-efi/gcry_gostr3411_94.module
+usr/lib/grub/arm64-efi/gcry_hwfeatures.mod
+usr/lib/grub/arm64-efi/gcry_hwfeatures.module
 usr/lib/grub/arm64-efi/gcry_idea.mod
 usr/lib/grub/arm64-efi/gcry_idea.module
+usr/lib/grub/arm64-efi/gcry_kdf.mod
+usr/lib/grub/arm64-efi/gcry_kdf.module
 usr/lib/grub/arm64-efi/gcry_keccak.mod
 usr/lib/grub/arm64-efi/gcry_keccak.module
 usr/lib/grub/arm64-efi/gcry_md4.mod
@@ -520,6 +532,8 @@  usr/lib/grub/arm64-efi/zfsinfo.mod
 usr/lib/grub/arm64-efi/zfsinfo.module
 usr/lib/grub/arm64-efi/zstd.mod
 usr/lib/grub/arm64-efi/zstd.module
+usr/lib/grub/arm64-efi/zstdio.mod
+usr/lib/grub/arm64-efi/zstdio.module
 usr/sbin/grub-bios-setup
 usr/sbin/grub-install
 usr/sbin/grub-macbless
@@ -537,6 +551,7 @@  usr/share/bash-completion/completions/grub-mkconfig
 usr/share/bash-completion/completions/grub-mkfont
 usr/share/bash-completion/completions/grub-mkimage
 usr/share/bash-completion/completions/grub-mkpasswd-pbkdf2
+usr/share/bash-completion/completions/grub-mkrescue
 usr/share/bash-completion/completions/grub-probe
 usr/share/bash-completion/completions/grub-reboot
 usr/share/bash-completion/completions/grub-script-check
@@ -553,6 +568,61 @@  usr/share/grub/unicode.pf2
 #usr/share/info/grub.info
 #usr/share/info/grub.info-1
 #usr/share/info/grub.info-2
+#usr/share/locale/ast/LC_MESSAGES/grub.mo
+#usr/share/locale/ca/LC_MESSAGES/grub.mo
+#usr/share/locale/da/LC_MESSAGES/grub.mo
+#usr/share/locale/de/LC_MESSAGES/grub.mo
+#usr/share/locale/de@hebrew
+#usr/share/locale/de@hebrew/LC_MESSAGES
+#usr/share/locale/de@hebrew/LC_MESSAGES/grub.mo
+#usr/share/locale/de_CH/LC_MESSAGES/grub.mo
+#usr/share/locale/en@arabic
+#usr/share/locale/en@arabic/LC_MESSAGES
+#usr/share/locale/en@arabic/LC_MESSAGES/grub.mo
+#usr/share/locale/en@cyrillic
+#usr/share/locale/en@cyrillic/LC_MESSAGES
+#usr/share/locale/en@cyrillic/LC_MESSAGES/grub.mo
+#usr/share/locale/en@greek
+#usr/share/locale/en@greek/LC_MESSAGES
+#usr/share/locale/en@greek/LC_MESSAGES/grub.mo
+#usr/share/locale/en@hebrew
+#usr/share/locale/en@hebrew/LC_MESSAGES
+#usr/share/locale/en@hebrew/LC_MESSAGES/grub.mo
+#usr/share/locale/en@piglatin
+#usr/share/locale/en@piglatin/LC_MESSAGES
+#usr/share/locale/en@piglatin/LC_MESSAGES/grub.mo
+#usr/share/locale/en@quot/LC_MESSAGES/grub.mo
+#usr/share/locale/eo/LC_MESSAGES/grub.mo
+#usr/share/locale/es/LC_MESSAGES/grub.mo
+#usr/share/locale/fi/LC_MESSAGES/grub.mo
+#usr/share/locale/fr/LC_MESSAGES/grub.mo
+#usr/share/locale/gl/LC_MESSAGES/grub.mo
+#usr/share/locale/he/LC_MESSAGES/grub.mo
+#usr/share/locale/hr/LC_MESSAGES/grub.mo
+#usr/share/locale/hu/LC_MESSAGES/grub.mo
+#usr/share/locale/id/LC_MESSAGES/grub.mo
+#usr/share/locale/it/LC_MESSAGES/grub.mo
+#usr/share/locale/ja/LC_MESSAGES/grub.mo
+#usr/share/locale/ka/LC_MESSAGES/grub.mo
+#usr/share/locale/ko/LC_MESSAGES/grub.mo
+#usr/share/locale/lg/LC_MESSAGES/grub.mo
+#usr/share/locale/lt/LC_MESSAGES/grub.mo
+#usr/share/locale/nb/LC_MESSAGES/grub.mo
+#usr/share/locale/nl/LC_MESSAGES/grub.mo
+#usr/share/locale/pa/LC_MESSAGES/grub.mo
+#usr/share/locale/pl/LC_MESSAGES/grub.mo
+#usr/share/locale/pt/LC_MESSAGES/grub.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/grub.mo
+#usr/share/locale/ro/LC_MESSAGES/grub.mo
+#usr/share/locale/ru/LC_MESSAGES/grub.mo
+#usr/share/locale/sl/LC_MESSAGES/grub.mo
+#usr/share/locale/sr/LC_MESSAGES/grub.mo
+#usr/share/locale/sv/LC_MESSAGES/grub.mo
+#usr/share/locale/tr/LC_MESSAGES/grub.mo
+#usr/share/locale/uk/LC_MESSAGES/grub.mo
+#usr/share/locale/vi/LC_MESSAGES/grub.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/grub.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/grub.mo
 #usr/share/man/man1/grub-editenv.1
 #usr/share/man/man1/grub-file.1
 #usr/share/man/man1/grub-fstest.1
diff --git a/config/rootfiles/common/riscv64/grub b/config/rootfiles/common/riscv64/grub
index 29e1d48f4..f9b981db9 100644
--- a/config/rootfiles/common/riscv64/grub
+++ b/config/rootfiles/common/riscv64/grub
@@ -47,6 +47,10 @@  usr/lib/grub/riscv64-efi/all_video.mod
 usr/lib/grub/riscv64-efi/all_video.module
 usr/lib/grub/riscv64-efi/archelp.mod
 usr/lib/grub/riscv64-efi/archelp.module
+usr/lib/grub/riscv64-efi/argon2.mod
+usr/lib/grub/riscv64-efi/argon2.module
+usr/lib/grub/riscv64-efi/argon2_test.mod
+usr/lib/grub/riscv64-efi/argon2_test.module
 usr/lib/grub/riscv64-efi/asn1.mod
 usr/lib/grub/riscv64-efi/asn1.module
 usr/lib/grub/riscv64-efi/asn1_test.mod
@@ -61,6 +65,8 @@  usr/lib/grub/riscv64-efi/bli.mod
 usr/lib/grub/riscv64-efi/bli.module
 usr/lib/grub/riscv64-efi/blocklist.mod
 usr/lib/grub/riscv64-efi/blocklist.module
+usr/lib/grub/riscv64-efi/blsuki.mod
+usr/lib/grub/riscv64-efi/blsuki.module
 usr/lib/grub/riscv64-efi/boot.mod
 usr/lib/grub/riscv64-efi/boot.module
 usr/lib/grub/riscv64-efi/bswap_test.mod
@@ -92,6 +98,8 @@  usr/lib/grub/riscv64-efi/crc64.module
 usr/lib/grub/riscv64-efi/crypto.lst
 usr/lib/grub/riscv64-efi/crypto.mod
 usr/lib/grub/riscv64-efi/crypto.module
+usr/lib/grub/riscv64-efi/crypto_cipher_mode_test.mod
+usr/lib/grub/riscv64-efi/crypto_cipher_mode_test.module
 usr/lib/grub/riscv64-efi/cryptodisk.mod
 usr/lib/grub/riscv64-efi/cryptodisk.module
 usr/lib/grub/riscv64-efi/ctz_test.mod
@@ -176,8 +184,12 @@  usr/lib/grub/riscv64-efi/gcry_gost28147.mod
 usr/lib/grub/riscv64-efi/gcry_gost28147.module
 usr/lib/grub/riscv64-efi/gcry_gostr3411_94.mod
 usr/lib/grub/riscv64-efi/gcry_gostr3411_94.module
+usr/lib/grub/riscv64-efi/gcry_hwfeatures.mod
+usr/lib/grub/riscv64-efi/gcry_hwfeatures.module
 usr/lib/grub/riscv64-efi/gcry_idea.mod
 usr/lib/grub/riscv64-efi/gcry_idea.module
+usr/lib/grub/riscv64-efi/gcry_kdf.mod
+usr/lib/grub/riscv64-efi/gcry_kdf.module
 usr/lib/grub/riscv64-efi/gcry_keccak.mod
 usr/lib/grub/riscv64-efi/gcry_keccak.module
 usr/lib/grub/riscv64-efi/gcry_md4.mod
@@ -518,6 +530,8 @@  usr/lib/grub/riscv64-efi/zfsinfo.mod
 usr/lib/grub/riscv64-efi/zfsinfo.module
 usr/lib/grub/riscv64-efi/zstd.mod
 usr/lib/grub/riscv64-efi/zstd.module
+usr/lib/grub/riscv64-efi/zstdio.mod
+usr/lib/grub/riscv64-efi/zstdio.module
 usr/sbin/grub-bios-setup
 usr/sbin/grub-install
 usr/sbin/grub-macbless
@@ -535,6 +549,7 @@  usr/share/bash-completion/completions/grub-mkconfig
 usr/share/bash-completion/completions/grub-mkfont
 usr/share/bash-completion/completions/grub-mkimage
 usr/share/bash-completion/completions/grub-mkpasswd-pbkdf2
+usr/share/bash-completion/completions/grub-mkrescue
 usr/share/bash-completion/completions/grub-probe
 usr/share/bash-completion/completions/grub-reboot
 usr/share/bash-completion/completions/grub-script-check
@@ -551,6 +566,61 @@  usr/share/grub/unicode.pf2
 #usr/share/info/grub.info
 #usr/share/info/grub.info-1
 #usr/share/info/grub.info-2
+#usr/share/locale/ast/LC_MESSAGES/grub.mo
+#usr/share/locale/ca/LC_MESSAGES/grub.mo
+#usr/share/locale/da/LC_MESSAGES/grub.mo
+#usr/share/locale/de/LC_MESSAGES/grub.mo
+#usr/share/locale/de@hebrew
+#usr/share/locale/de@hebrew/LC_MESSAGES
+#usr/share/locale/de@hebrew/LC_MESSAGES/grub.mo
+#usr/share/locale/de_CH/LC_MESSAGES/grub.mo
+#usr/share/locale/en@arabic
+#usr/share/locale/en@arabic/LC_MESSAGES
+#usr/share/locale/en@arabic/LC_MESSAGES/grub.mo
+#usr/share/locale/en@cyrillic
+#usr/share/locale/en@cyrillic/LC_MESSAGES
+#usr/share/locale/en@cyrillic/LC_MESSAGES/grub.mo
+#usr/share/locale/en@greek
+#usr/share/locale/en@greek/LC_MESSAGES
+#usr/share/locale/en@greek/LC_MESSAGES/grub.mo
+#usr/share/locale/en@hebrew
+#usr/share/locale/en@hebrew/LC_MESSAGES
+#usr/share/locale/en@hebrew/LC_MESSAGES/grub.mo
+#usr/share/locale/en@piglatin
+#usr/share/locale/en@piglatin/LC_MESSAGES
+#usr/share/locale/en@piglatin/LC_MESSAGES/grub.mo
+#usr/share/locale/en@quot/LC_MESSAGES/grub.mo
+#usr/share/locale/eo/LC_MESSAGES/grub.mo
+#usr/share/locale/es/LC_MESSAGES/grub.mo
+#usr/share/locale/fi/LC_MESSAGES/grub.mo
+#usr/share/locale/fr/LC_MESSAGES/grub.mo
+#usr/share/locale/gl/LC_MESSAGES/grub.mo
+#usr/share/locale/he/LC_MESSAGES/grub.mo
+#usr/share/locale/hr/LC_MESSAGES/grub.mo
+#usr/share/locale/hu/LC_MESSAGES/grub.mo
+#usr/share/locale/id/LC_MESSAGES/grub.mo
+#usr/share/locale/it/LC_MESSAGES/grub.mo
+#usr/share/locale/ja/LC_MESSAGES/grub.mo
+#usr/share/locale/ka/LC_MESSAGES/grub.mo
+#usr/share/locale/ko/LC_MESSAGES/grub.mo
+#usr/share/locale/lg/LC_MESSAGES/grub.mo
+#usr/share/locale/lt/LC_MESSAGES/grub.mo
+#usr/share/locale/nb/LC_MESSAGES/grub.mo
+#usr/share/locale/nl/LC_MESSAGES/grub.mo
+#usr/share/locale/pa/LC_MESSAGES/grub.mo
+#usr/share/locale/pl/LC_MESSAGES/grub.mo
+#usr/share/locale/pt/LC_MESSAGES/grub.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/grub.mo
+#usr/share/locale/ro/LC_MESSAGES/grub.mo
+#usr/share/locale/ru/LC_MESSAGES/grub.mo
+#usr/share/locale/sl/LC_MESSAGES/grub.mo
+#usr/share/locale/sr/LC_MESSAGES/grub.mo
+#usr/share/locale/sv/LC_MESSAGES/grub.mo
+#usr/share/locale/tr/LC_MESSAGES/grub.mo
+#usr/share/locale/uk/LC_MESSAGES/grub.mo
+#usr/share/locale/vi/LC_MESSAGES/grub.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/grub.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/grub.mo
 #usr/share/man/man1/grub-editenv.1
 #usr/share/man/man1/grub-file.1
 #usr/share/man/man1/grub-fstest.1
diff --git a/config/rootfiles/common/x86_64/grub b/config/rootfiles/common/x86_64/grub
index 90dc90800..b6ddd5709 100644
--- a/config/rootfiles/common/x86_64/grub
+++ b/config/rootfiles/common/x86_64/grub
@@ -52,6 +52,10 @@  usr/lib/grub/i386-pc/aout.mod
 usr/lib/grub/i386-pc/aout.module
 usr/lib/grub/i386-pc/archelp.mod
 usr/lib/grub/i386-pc/archelp.module
+usr/lib/grub/i386-pc/argon2.mod
+usr/lib/grub/i386-pc/argon2.module
+usr/lib/grub/i386-pc/argon2_test.mod
+usr/lib/grub/i386-pc/argon2_test.module
 usr/lib/grub/i386-pc/asn1.mod
 usr/lib/grub/i386-pc/asn1.module
 usr/lib/grub/i386-pc/asn1_test.mod
@@ -72,6 +76,8 @@  usr/lib/grub/i386-pc/bitmap_scale.mod
 usr/lib/grub/i386-pc/bitmap_scale.module
 usr/lib/grub/i386-pc/blocklist.mod
 usr/lib/grub/i386-pc/blocklist.module
+usr/lib/grub/i386-pc/blsuki.mod
+usr/lib/grub/i386-pc/blsuki.module
 usr/lib/grub/i386-pc/boot.image
 usr/lib/grub/i386-pc/boot.img
 usr/lib/grub/i386-pc/boot.mod
@@ -125,6 +131,8 @@  usr/lib/grub/i386-pc/crc64.module
 usr/lib/grub/i386-pc/crypto.lst
 usr/lib/grub/i386-pc/crypto.mod
 usr/lib/grub/i386-pc/crypto.module
+usr/lib/grub/i386-pc/crypto_cipher_mode_test.mod
+usr/lib/grub/i386-pc/crypto_cipher_mode_test.module
 usr/lib/grub/i386-pc/cryptodisk.mod
 usr/lib/grub/i386-pc/cryptodisk.module
 usr/lib/grub/i386-pc/cs5536.mod
@@ -211,8 +219,12 @@  usr/lib/grub/i386-pc/gcry_gost28147.mod
 usr/lib/grub/i386-pc/gcry_gost28147.module
 usr/lib/grub/i386-pc/gcry_gostr3411_94.mod
 usr/lib/grub/i386-pc/gcry_gostr3411_94.module
+usr/lib/grub/i386-pc/gcry_hwfeatures.mod
+usr/lib/grub/i386-pc/gcry_hwfeatures.module
 usr/lib/grub/i386-pc/gcry_idea.mod
 usr/lib/grub/i386-pc/gcry_idea.module
+usr/lib/grub/i386-pc/gcry_kdf.mod
+usr/lib/grub/i386-pc/gcry_kdf.module
 usr/lib/grub/i386-pc/gcry_keccak.mod
 usr/lib/grub/i386-pc/gcry_keccak.module
 usr/lib/grub/i386-pc/gcry_md4.mod
@@ -637,6 +649,8 @@  usr/lib/grub/i386-pc/zfsinfo.mod
 usr/lib/grub/i386-pc/zfsinfo.module
 usr/lib/grub/i386-pc/zstd.mod
 usr/lib/grub/i386-pc/zstd.module
+usr/lib/grub/i386-pc/zstdio.mod
+usr/lib/grub/i386-pc/zstdio.module
 #usr/lib/grub/x86_64-efi
 usr/lib/grub/x86_64-efi/acpi.mod
 usr/lib/grub/x86_64-efi/acpi.module
@@ -658,6 +672,10 @@  usr/lib/grub/x86_64-efi/appleldr.mod
 usr/lib/grub/x86_64-efi/appleldr.module
 usr/lib/grub/x86_64-efi/archelp.mod
 usr/lib/grub/x86_64-efi/archelp.module
+usr/lib/grub/x86_64-efi/argon2.mod
+usr/lib/grub/x86_64-efi/argon2.module
+usr/lib/grub/x86_64-efi/argon2_test.mod
+usr/lib/grub/x86_64-efi/argon2_test.module
 usr/lib/grub/x86_64-efi/asn1.mod
 usr/lib/grub/x86_64-efi/asn1.module
 usr/lib/grub/x86_64-efi/asn1_test.mod
@@ -678,6 +696,8 @@  usr/lib/grub/x86_64-efi/bli.mod
 usr/lib/grub/x86_64-efi/bli.module
 usr/lib/grub/x86_64-efi/blocklist.mod
 usr/lib/grub/x86_64-efi/blocklist.module
+usr/lib/grub/x86_64-efi/blsuki.mod
+usr/lib/grub/x86_64-efi/blsuki.module
 usr/lib/grub/x86_64-efi/boot.mod
 usr/lib/grub/x86_64-efi/boot.module
 usr/lib/grub/x86_64-efi/bsd.mod
@@ -725,6 +745,8 @@  usr/lib/grub/x86_64-efi/crc64.module
 usr/lib/grub/x86_64-efi/crypto.lst
 usr/lib/grub/x86_64-efi/crypto.mod
 usr/lib/grub/x86_64-efi/crypto.module
+usr/lib/grub/x86_64-efi/crypto_cipher_mode_test.mod
+usr/lib/grub/x86_64-efi/crypto_cipher_mode_test.module
 usr/lib/grub/x86_64-efi/cryptodisk.mod
 usr/lib/grub/x86_64-efi/cryptodisk.module
 usr/lib/grub/x86_64-efi/cs5536.mod
@@ -815,8 +837,12 @@  usr/lib/grub/x86_64-efi/gcry_gost28147.mod
 usr/lib/grub/x86_64-efi/gcry_gost28147.module
 usr/lib/grub/x86_64-efi/gcry_gostr3411_94.mod
 usr/lib/grub/x86_64-efi/gcry_gostr3411_94.module
+usr/lib/grub/x86_64-efi/gcry_hwfeatures.mod
+usr/lib/grub/x86_64-efi/gcry_hwfeatures.module
 usr/lib/grub/x86_64-efi/gcry_idea.mod
 usr/lib/grub/x86_64-efi/gcry_idea.module
+usr/lib/grub/x86_64-efi/gcry_kdf.mod
+usr/lib/grub/x86_64-efi/gcry_kdf.module
 usr/lib/grub/x86_64-efi/gcry_keccak.mod
 usr/lib/grub/x86_64-efi/gcry_keccak.module
 usr/lib/grub/x86_64-efi/gcry_md4.mod
@@ -1225,6 +1251,8 @@  usr/lib/grub/x86_64-efi/zfsinfo.mod
 usr/lib/grub/x86_64-efi/zfsinfo.module
 usr/lib/grub/x86_64-efi/zstd.mod
 usr/lib/grub/x86_64-efi/zstd.module
+usr/lib/grub/x86_64-efi/zstdio.mod
+usr/lib/grub/x86_64-efi/zstdio.module
 usr/sbin/grub-bios-setup
 usr/sbin/grub-install
 usr/sbin/grub-macbless
@@ -1242,6 +1270,7 @@  usr/share/bash-completion/completions/grub-mkconfig
 usr/share/bash-completion/completions/grub-mkfont
 usr/share/bash-completion/completions/grub-mkimage
 usr/share/bash-completion/completions/grub-mkpasswd-pbkdf2
+usr/share/bash-completion/completions/grub-mkrescue
 usr/share/bash-completion/completions/grub-probe
 usr/share/bash-completion/completions/grub-reboot
 usr/share/bash-completion/completions/grub-script-check
@@ -1258,6 +1287,61 @@  usr/share/grub/unicode.pf2
 #usr/share/info/grub.info
 #usr/share/info/grub.info-1
 #usr/share/info/grub.info-2
+#usr/share/locale/ast/LC_MESSAGES/grub.mo
+#usr/share/locale/ca/LC_MESSAGES/grub.mo
+#usr/share/locale/da/LC_MESSAGES/grub.mo
+#usr/share/locale/de/LC_MESSAGES/grub.mo
+#usr/share/locale/de@hebrew
+#usr/share/locale/de@hebrew/LC_MESSAGES
+#usr/share/locale/de@hebrew/LC_MESSAGES/grub.mo
+#usr/share/locale/de_CH/LC_MESSAGES/grub.mo
+#usr/share/locale/en@arabic
+#usr/share/locale/en@arabic/LC_MESSAGES
+#usr/share/locale/en@arabic/LC_MESSAGES/grub.mo
+#usr/share/locale/en@cyrillic
+#usr/share/locale/en@cyrillic/LC_MESSAGES
+#usr/share/locale/en@cyrillic/LC_MESSAGES/grub.mo
+#usr/share/locale/en@greek
+#usr/share/locale/en@greek/LC_MESSAGES
+#usr/share/locale/en@greek/LC_MESSAGES/grub.mo
+#usr/share/locale/en@hebrew
+#usr/share/locale/en@hebrew/LC_MESSAGES
+#usr/share/locale/en@hebrew/LC_MESSAGES/grub.mo
+#usr/share/locale/en@piglatin
+#usr/share/locale/en@piglatin/LC_MESSAGES
+#usr/share/locale/en@piglatin/LC_MESSAGES/grub.mo
+#usr/share/locale/en@quot/LC_MESSAGES/grub.mo
+#usr/share/locale/eo/LC_MESSAGES/grub.mo
+#usr/share/locale/es/LC_MESSAGES/grub.mo
+#usr/share/locale/fi/LC_MESSAGES/grub.mo
+#usr/share/locale/fr/LC_MESSAGES/grub.mo
+#usr/share/locale/gl/LC_MESSAGES/grub.mo
+#usr/share/locale/he/LC_MESSAGES/grub.mo
+#usr/share/locale/hr/LC_MESSAGES/grub.mo
+#usr/share/locale/hu/LC_MESSAGES/grub.mo
+#usr/share/locale/id/LC_MESSAGES/grub.mo
+#usr/share/locale/it/LC_MESSAGES/grub.mo
+#usr/share/locale/ja/LC_MESSAGES/grub.mo
+#usr/share/locale/ka/LC_MESSAGES/grub.mo
+#usr/share/locale/ko/LC_MESSAGES/grub.mo
+#usr/share/locale/lg/LC_MESSAGES/grub.mo
+#usr/share/locale/lt/LC_MESSAGES/grub.mo
+#usr/share/locale/nb/LC_MESSAGES/grub.mo
+#usr/share/locale/nl/LC_MESSAGES/grub.mo
+#usr/share/locale/pa/LC_MESSAGES/grub.mo
+#usr/share/locale/pl/LC_MESSAGES/grub.mo
+#usr/share/locale/pt/LC_MESSAGES/grub.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/grub.mo
+#usr/share/locale/ro/LC_MESSAGES/grub.mo
+#usr/share/locale/ru/LC_MESSAGES/grub.mo
+#usr/share/locale/sl/LC_MESSAGES/grub.mo
+#usr/share/locale/sr/LC_MESSAGES/grub.mo
+#usr/share/locale/sv/LC_MESSAGES/grub.mo
+#usr/share/locale/tr/LC_MESSAGES/grub.mo
+#usr/share/locale/uk/LC_MESSAGES/grub.mo
+#usr/share/locale/vi/LC_MESSAGES/grub.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/grub.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/grub.mo
 #usr/share/man/man1/grub-editenv.1
 #usr/share/man/man1/grub-file.1
 #usr/share/man/man1/grub-fstest.1
diff --git a/lfs/grub b/lfs/grub
index 2ff91f7ee..226775c63 100644
--- a/lfs/grub
+++ b/lfs/grub
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2025  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2026  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 0e36779-bootstrapped
+VER        = 2.14
 
 THISAPP    = grub-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -61,7 +61,7 @@  objects = $(DL_FILE) \
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 unifont-7.0.03.pcf.gz = $(DL_FROM)/unifont-7.0.03.pcf.gz
 
-$(DL_FILE)_BLAKE2 = 4e006b3e852403eaed348de188406656a6d8cdff14a1394dd7cf3ada45218e4f4cfd3ee4a4b235633cbee7ea87a49a267c44e48105095ebb13d8192382bd8ce2
+$(DL_FILE)_BLAKE2 = 724bb430d8824bec39e6a025cf354a780b79260684c7c4e3d28beb08c8bee10d082a089fcb799f8f5eb6e83abcf8675fb7c5f5ddf443c5c0e61d6f180ee341af
 unifont-7.0.03.pcf.gz_BLAKE2 = fb96c1786fcc8c77796c90ce30a2b7d544013bd62cedbf7b027e1894fe75cdbd2044717796cb0e3150db1457fcb58076491d9c0b855621b652fb9a52c0793469
 
 install : $(TARGET)
@@ -94,9 +94,11 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@rm -rf $(DIR_APP) $(DIR_APP_EFI) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub/grub-2.06-remove_os_prober_disabled_warning.patch
 	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub/grub-2.02_disable_vga_fallback.patch
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.12-Use-medany-instead-of-large-model-for-RISCV.patch
+	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub/grub-2.12-Use-medany-instead-of-large-model-for-RISCV.patch
+	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub/grub-2.14-Revert-configure:_Check_linker_for_--image-base_support.patch
+	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub/grub-2.14-Revert-configure:_Print_a_more_helpful_error_if_autoconf-archive_is_not_installed.patch
 	cd $(DIR_APP) && [ ! -e grub-core/extra_deps.lst ] && echo 'depends bli part_gpt' > grub-core/extra_deps.lst
-	#cd $(DIR_APP) && autoreconf -vfi
+	cd $(DIR_APP) && autoreconf -vfi
 
 	# Install unifont
 	cp -v $(DIR_DL)/unifont-7.0.03.pcf.gz $(DIR_APP)/unifont.pcf.gz
diff --git a/src/patches/grub-2.12-Use-medany-instead-of-large-model-for-RISCV.patch b/src/patches/grub/grub-2.12-Use-medany-instead-of-large-model-for-RISCV.patch
similarity index 100%
rename from src/patches/grub-2.12-Use-medany-instead-of-large-model-for-RISCV.patch
rename to src/patches/grub/grub-2.12-Use-medany-instead-of-large-model-for-RISCV.patch
diff --git a/src/patches/grub/grub-2.14-Revert-configure:_Check_linker_for_--image-base_support.patch b/src/patches/grub/grub-2.14-Revert-configure:_Check_linker_for_--image-base_support.patch
new file mode 100644
index 000000000..33013e46b
--- /dev/null
+++ b/src/patches/grub/grub-2.14-Revert-configure:_Check_linker_for_--image-base_support.patch
@@ -0,0 +1,53 @@ 
+diff -Naur grub-2.14.orig/acinclude.m4 grub-2.14/acinclude.m4
+--- grub-2.14.orig/acinclude.m4	2025-11-20 17:02:39.000000000 +0100
++++ grub-2.14/acinclude.m4	2026-05-05 17:11:21.117127788 +0200
+@@ -79,11 +79,6 @@
+ [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 -Naur grub-2.14.orig/configure.ac grub-2.14/configure.ac
+--- grub-2.14.orig/configure.ac	2026-01-14 15:30:04.000000000 +0100
++++ grub-2.14/configure.ac	2026-05-05 17:09:38.251922592 +0200
+@@ -1461,6 +1461,7 @@
+   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 @@
+   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 @@
+ 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
diff --git a/src/patches/grub/grub-2.14-Revert-configure:_Print_a_more_helpful_error_if_autoconf-archive_is_not_installed.patch b/src/patches/grub/grub-2.14-Revert-configure:_Print_a_more_helpful_error_if_autoconf-archive_is_not_installed.patch
new file mode 100644
index 000000000..5bde9e56c
--- /dev/null
+++ b/src/patches/grub/grub-2.14-Revert-configure:_Print_a_more_helpful_error_if_autoconf-archive_is_not_installed.patch
@@ -0,0 +1,15 @@ 
+diff -Naur grub-2.14.orig/configure.ac grub-2.14/configure.ac
+--- grub-2.14.orig/configure.ac	2026-05-05 17:09:38.251922592 +0200
++++ grub-2.14/configure.ac	2026-05-05 17:32:27.405733625 +0200
+@@ -1794,11 +1794,6 @@
+ # 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