aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-05-19 11:58:36 +0200
committerLudovic Courtès <ludo@gnu.org>2019-05-19 11:58:36 +0200
commitd68de958b60426798ed62797ff7c96c327a672ac (patch)
treeabb7723d188e1333e15fc84b0814c85c1ac96ef5 /gnu
parentbaab87ac49e3f0f873e17eb16db9781189b1f2d1 (diff)
downloadguix-d68de958b60426798ed62797ff7c96c327a672ac.tar
guix-d68de958b60426798ed62797ff7c96c327a672ac.tar.gz
installer: Fix Guile-Parted crash on i686.
Fixes <https://bugs.gnu.org/35783>. This is a followup to 7d567af46b4e10ffafb1d0f76b524f5781460598. * gnu/installer/parted.scm (auto-partition!): Append ESP-PARTITION, when it is true, to the result of 'create-adjacent-partitions!'. * gnu/installer/newt/partition.scm (run-partioning-page): Remove 'initial-partitions' variable, and remove call to 'create-special-user-partitions'. Co-authored-by: Mathieu Othacehe <m.othacehe@gmail.com>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/installer/newt/partition.scm6
-rw-r--r--gnu/installer/parted.scm16
2 files changed, 12 insertions, 10 deletions
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index abc8bdcc03..cd9d46316a 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -751,12 +751,8 @@ by pressing the Exit button.~%~%")))
(disk (mklabel device label)))
(disk-commit disk)
disk)))
- (initial-partitions (disk-partitions disk))
(scheme (symbol-append method '- (run-scheme-page)))
- (user-partitions (append
- (auto-partition! disk #:scheme scheme)
- (create-special-user-partitions
- initial-partitions))))
+ (user-partitions (auto-partition! disk #:scheme scheme)))
(run-disk-page (list disk) user-partitions
#:guided? #t)))
((eq? method 'manual)
diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm
index 4ccc0b1f51..bd2640d1ad 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -895,7 +895,10 @@ partitions (except the ESP on a GPT disk, if present) are wiped. SCHEME is the
desired partitioning scheme. It can be 'entire-root or
'entire-root-home. 'entire-root will create a swap partition and a root
partition occupying all the remaining space. 'entire-root-home will create a
-swap partition, a root partition and a home partition."
+swap partition, a root partition and a home partition.
+
+Return the complete list of partitions on DISK, including the ESP when it
+exists."
(let* ((device (disk-device disk))
(disk-type (disk-disk-type disk))
(has-extended? (disk-type-check-feature
@@ -1001,10 +1004,13 @@ swap partition, a root partition and a home partition."
(mount-point "/home")))))))
(new-partitions* (force-user-partitions-formatting
new-partitions)))
- (create-adjacent-partitions! disk
- new-partitions*
- #:last-partition-end
- (or end-esp-partition 0)))))
+ (append (if esp-partition
+ (list (partition->user-partition esp-partition))
+ '())
+ (create-adjacent-partitions! disk
+ new-partitions*
+ #:last-partition-end
+ (or end-esp-partition 0))))))
;;