aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2022-08-05 08:50:51 +0200
committerMathieu Othacehe <othacehe@gnu.org>2022-08-05 08:57:20 +0200
commit3c381af76a144a4dc3d0f9269f43ee2ec501b538 (patch)
treedfd21da54a5d81385be4cd205c88bc91f191e495
parenteb0277e7e391319a5377084dd2d18c7114ec9a8a (diff)
downloadguix-3c381af76a144a4dc3d0f9269f43ee2ec501b538.tar.gz
guix-3c381af76a144a4dc3d0f9269f43ee2ec501b538.zip
installer: parted: Call set-system before set-flags.
Parted 3.5 introduces the following regression: - partition-set-flag sets the BIOS_GRUB flag. The partition type is set to PARTITION_BIOS_GRUB_GUID. - partition-set-system resets the partition type to PARTITION_LINUX_DATA_GUID undoing what's done by partition-set-flag. To prevent it, reverse the call order. Fixes: <https://issues.guix.gnu.org/55549>. * gnu/installer/parted.scm (mkpart): Call partition-set-system before partition-set-flag.
-rw-r--r--gnu/installer/parted.scm11
1 files changed, 7 insertions, 4 deletions
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 6c823e77eb..ba0a38fff8 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -845,15 +845,18 @@ cause them to cross."
(when (and partition-ok? has-name? name)
(partition-set-name partition name))
- ;; Set flags is required.
+ ;; Both partition-set-system and partition-set-flag calls can affect
+ ;; the partition type. Their order is important, see:
+ ;; https://issues.guix.gnu.org/55549.
+ (partition-set-system partition filesystem-type)
+
+ ;; Set flags if required.
(for-each (lambda (flag)
(and (partition-is-flag-available? partition flag)
(partition-set-flag partition flag 1)))
flags)
- (and partition-ok?
- (partition-set-system partition filesystem-type)
- partition))))))
+ (and partition-ok? partition))))))
;;