aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi13
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/bootloaders.scm27
-rw-r--r--gnu/packages/patches/grub-ignore-metadata-csum-seed.patch54
4 files changed, 18 insertions, 77 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 6257de7583..0ad0a23b6c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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}},
@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
-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:
@example
-cryptsetup luksFormat --type luks1 /dev/sda2
+cryptsetup luksFormat /dev/sda2
cryptsetup open /dev/sda2 my-partition
mkfs.ext4 -L my-root /dev/mapper/my-partition
@end example
diff --git a/gnu/local.mk b/gnu/local.mk
index 4a2c7f7bfa..6a436dd1b8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1425,7 +1425,6 @@ dist_patch_DATA = \
%D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \
%D%/packages/patches/grub-efi-fat-serial-number.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-2.2-skip-oom-test.patch \
%D%/packages/patches/guile-2.2-skip-so-test.patch \
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index f37344c25b..4e932ee328 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1,5 +1,5 @@
;;; 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 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
@@ -104,25 +104,28 @@
(define-public grub
(package
(name "grub")
- (version "2.06")
+ (version "2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grub/grub-" version ".tar.xz"))
(sha256
(base32
- "1qbycnxkx07arj9f2nlsi9kp0dyldspbv07ysdyd34qvz55a97mp"))
+ "1ahgzvvvwdxx7rl08pv5dyqlgp76jxz0q2cflxvsdsn4yy8p7jgk"))
(patches (search-patches
"grub-efi-fat-serial-number.patch"
- "grub-setup-root.patch"
- "grub-ignore-metadata-csum-seed.patch"))
+ "grub-setup-root.patch"))
(modules '((guix build utils)))
(snippet
- '(begin
- ;; Adjust QEMU invocation to not use a deprecated device
- ;; name that was removed in QEMU 6.0. Remove for >2.06.
- (substitute* "tests/ahci_test.in"
- (("ide-drive")
- "ide-hd"))))))
+ #~(begin
+ ;; Add file missing from the release tarball.
+ (call-with-output-file "grub-core/extra_deps.lst"
+ (lambda (port)
+ (display "depends bli part_gpt\n" port)))
+
+ ;; 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)
(arguments
`(#:configure-flags
@@ -348,8 +351,10 @@ menu to select one of the installed operating systems.")
"grub_script_return"
"grub_script_setparams"
"grub_cmd_date"
+ "grub_cmd_set_date"
"grub_cmd_sleep"
"grub_cmd_regexp"
+ "grub_cmd_test"
"grub_script_not"
"grub_cmd_echo"
"grub_script_expansion"
diff --git a/gnu/packages/patches/grub-ignore-metadata-csum-seed.patch b/gnu/packages/patches/grub-ignore-metadata-csum-seed.patch
deleted file mode 100644
index cd9b897aa6..0000000000
--- a/gnu/packages/patches/grub-ignore-metadata-csum-seed.patch
+++ /dev/null
@@ -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
-