gnu: grub: Update to 2.12.
* gnu/packages/bootloaders.scm (grub): Update to 2.12. [source](patches): Remove ‘grub-ignore-metadata-csum-seed.patch’. (snippet): Create ‘grub-core/extra_deps.lst’. Replace “exit 99” by “exit 77”. (grub-coreboot): Update value of ‘XFAIL_TESTS’. * doc/guix.texi (Keyboard Layout and Networking and Partitioning): Update accordingly (it should now be fine to use LUKS2). * gnu/packages/patches/grub-ignore-metadata-csum-seed.patch: Remove. * gnu/local.mk (dist_patch_DATA): Remove it. Change-Id: Ia31b3b7e0a2e7de42d30229733e9c196fcd12fd9 Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com> Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>master
parent
d37614bed1
commit
e6facbe069
|
@ -2403,21 +2403,12 @@ the Cryptsetup/LUKS utilities to do that (see @inlinefmtifelse{html,
|
||||||
@uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}},
|
@uref{https://linux.die.net/man/8/cryptsetup, @code{man cryptsetup}},
|
||||||
@code{man cryptsetup}} for more information).
|
@code{man cryptsetup}} for more information).
|
||||||
|
|
||||||
@quotation Warning
|
|
||||||
While efforts are in progress to extend support to LUKS2, please note
|
|
||||||
that Guix only supports devices of type LUKS1 at the moment. You can
|
|
||||||
verify that your existing LUKS device is of the right type by running
|
|
||||||
@command{cryptsetup luksDump @var{device}}. Alternatively, you can
|
|
||||||
create a new LUKS1 device with @command{cryptsetup luksFormat --type
|
|
||||||
luks1 @var{device}}.
|
|
||||||
@end quotation
|
|
||||||
|
|
||||||
Assuming you want to store the root partition on @file{/dev/sda2}, the
|
Assuming you want to store the root partition on @file{/dev/sda2}, the
|
||||||
command sequence to format it as a LUKS1 partition would be along these
|
command sequence to format it as a LUKS partition would be along these
|
||||||
lines:
|
lines:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
cryptsetup luksFormat --type luks1 /dev/sda2
|
cryptsetup luksFormat /dev/sda2
|
||||||
cryptsetup open /dev/sda2 my-partition
|
cryptsetup open /dev/sda2 my-partition
|
||||||
mkfs.ext4 -L my-root /dev/mapper/my-partition
|
mkfs.ext4 -L my-root /dev/mapper/my-partition
|
||||||
@end example
|
@end example
|
||||||
|
|
|
@ -1425,7 +1425,6 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
|
||||||
%D%/packages/patches/grub-efi-fat-serial-number.patch \
|
%D%/packages/patches/grub-efi-fat-serial-number.patch \
|
||||||
%D%/packages/patches/grub-setup-root.patch \
|
%D%/packages/patches/grub-setup-root.patch \
|
||||||
%D%/packages/patches/grub-ignore-metadata-csum-seed.patch \
|
|
||||||
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
%D%/packages/patches/guile-1.8-cpp-4.5.patch \
|
||||||
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
|
%D%/packages/patches/guile-2.2-skip-oom-test.patch \
|
||||||
%D%/packages/patches/guile-2.2-skip-so-test.patch \
|
%D%/packages/patches/guile-2.2-skip-so-test.patch \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013-2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013-2019, 2021, 2023-2024 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||||
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
|
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
|
||||||
;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
@ -104,25 +104,28 @@
|
||||||
(define-public grub
|
(define-public grub
|
||||||
(package
|
(package
|
||||||
(name "grub")
|
(name "grub")
|
||||||
(version "2.06")
|
(version "2.12")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
|
(uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1qbycnxkx07arj9f2nlsi9kp0dyldspbv07ysdyd34qvz55a97mp"))
|
"1ahgzvvvwdxx7rl08pv5dyqlgp76jxz0q2cflxvsdsn4yy8p7jgk"))
|
||||||
(patches (search-patches
|
(patches (search-patches
|
||||||
"grub-efi-fat-serial-number.patch"
|
"grub-efi-fat-serial-number.patch"
|
||||||
"grub-setup-root.patch"
|
"grub-setup-root.patch"))
|
||||||
"grub-ignore-metadata-csum-seed.patch"))
|
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
#~(begin
|
||||||
;; Adjust QEMU invocation to not use a deprecated device
|
;; Add file missing from the release tarball.
|
||||||
;; name that was removed in QEMU 6.0. Remove for >2.06.
|
(call-with-output-file "grub-core/extra_deps.lst"
|
||||||
(substitute* "tests/ahci_test.in"
|
(lambda (port)
|
||||||
(("ide-drive")
|
(display "depends bli part_gpt\n" port)))
|
||||||
"ide-hd"))))))
|
|
||||||
|
;; Use exit code 77, not 99, to tell Automake that a test
|
||||||
|
;; is skipped.
|
||||||
|
(substitute* (find-files "tests" "\\.in$")
|
||||||
|
(("exit 99") "exit 77"))))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags
|
`(#:configure-flags
|
||||||
|
@ -348,8 +351,10 @@ menu to select one of the installed operating systems.")
|
||||||
"grub_script_return"
|
"grub_script_return"
|
||||||
"grub_script_setparams"
|
"grub_script_setparams"
|
||||||
"grub_cmd_date"
|
"grub_cmd_date"
|
||||||
|
"grub_cmd_set_date"
|
||||||
"grub_cmd_sleep"
|
"grub_cmd_sleep"
|
||||||
"grub_cmd_regexp"
|
"grub_cmd_regexp"
|
||||||
|
"grub_cmd_test"
|
||||||
"grub_script_not"
|
"grub_script_not"
|
||||||
"grub_cmd_echo"
|
"grub_cmd_echo"
|
||||||
"grub_script_expansion"
|
"grub_script_expansion"
|
||||||
|
|
|
@ -1,54 +0,0 @@
|
||||||
commit 7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763
|
|
||||||
Author: Javier Martinez Canillas <javierm@redhat.com>
|
|
||||||
Date: Fri Jun 11 21:36:16 2021 +0200
|
|
||||||
|
|
||||||
fs/ext2: Ignore checksum seed incompat feature
|
|
||||||
|
|
||||||
This incompat feature is used to denote that the filesystem stored its
|
|
||||||
metadata checksum seed in the superblock. This is used to allow tune2fs
|
|
||||||
changing the UUID on a mounted metdata_csum filesystem without having
|
|
||||||
to rewrite all the disk metadata. However, the GRUB doesn't use the
|
|
||||||
metadata checksum at all. So, it can just ignore this feature if it
|
|
||||||
is enabled. This is consistent with the GRUB filesystem code in general
|
|
||||||
which just does a best effort to access the filesystem's data.
|
|
||||||
|
|
||||||
The checksum seed incompat feature has to be removed from the ignore
|
|
||||||
list if the support for metadata checksum verification is added to the
|
|
||||||
GRUB ext2 driver later.
|
|
||||||
|
|
||||||
Suggested-by: Eric Sandeen <esandeen@redhat.com>
|
|
||||||
Suggested-by: Lukas Czerner <lczerner@redhat.com>
|
|
||||||
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
|
|
||||||
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
|
|
||||||
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
|
|
||||||
|
|
||||||
diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c
|
|
||||||
index e7dd78e66..4953a1591 100644
|
|
||||||
--- a/grub-core/fs/ext2.c
|
|
||||||
+++ b/grub-core/fs/ext2.c
|
|
||||||
@@ -103,6 +103,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
|
||||||
#define EXT4_FEATURE_INCOMPAT_64BIT 0x0080
|
|
||||||
#define EXT4_FEATURE_INCOMPAT_MMP 0x0100
|
|
||||||
#define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200
|
|
||||||
+#define EXT4_FEATURE_INCOMPAT_CSUM_SEED 0x2000
|
|
||||||
#define EXT4_FEATURE_INCOMPAT_ENCRYPT 0x10000
|
|
||||||
|
|
||||||
/* The set of back-incompatible features this driver DOES support. Add (OR)
|
|
||||||
@@ -123,10 +124,15 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
|
||||||
* mmp: Not really back-incompatible - was added as such to
|
|
||||||
* avoid multiple read-write mounts. Safe to ignore for this
|
|
||||||
* RO driver.
|
|
||||||
+ * checksum seed: Not really back-incompatible - was added to allow tools
|
|
||||||
+ * such as tune2fs to change the UUID on a mounted metadata
|
|
||||||
+ * checksummed filesystem. Safe to ignore for now since the
|
|
||||||
+ * driver doesn't support checksum verification. However, it
|
|
||||||
+ * has to be removed from this list if the support is added later.
|
|
||||||
*/
|
|
||||||
#define EXT2_DRIVER_IGNORED_INCOMPAT ( EXT3_FEATURE_INCOMPAT_RECOVER \
|
|
||||||
- | EXT4_FEATURE_INCOMPAT_MMP)
|
|
||||||
-
|
|
||||||
+ | EXT4_FEATURE_INCOMPAT_MMP \
|
|
||||||
+ | EXT4_FEATURE_INCOMPAT_CSUM_SEED)
|
|
||||||
|
|
||||||
#define EXT3_JOURNAL_MAGIC_NUMBER 0xc03b3998U
|
|
||||||
|
|
Reference in New Issue