diff options
Diffstat (limited to 'gnu/installer/newt')
-rw-r--r-- | gnu/installer/newt/partition.scm | 33 | ||||
-rw-r--r-- | gnu/installer/newt/services.scm | 25 |
2 files changed, 47 insertions, 11 deletions
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm index 81cf68d782..ea524eb4c3 100644 --- a/gnu/installer/newt/partition.scm +++ b/gnu/installer/newt/partition.scm @@ -95,14 +95,17 @@ DEVICES list." (define (run-label-page button-text button-callback) "Run a page asking the user to select a partition table label." - (run-listbox-selection-page - #:info-text (G_ "Select a new partition table type. \ + ;; Force the GPT label if UEFI is supported. + (if (efi-installation?) + "gpt" + (run-listbox-selection-page + #:info-text (G_ "Select a new partition table type. \ Be careful, all data on the disk will be lost.") - #:title (G_ "Partition table") - #:listbox-items '("msdos" "gpt") - #:listbox-item->text identity - #:button-text button-text - #:button-callback-procedure button-callback)) + #:title (G_ "Partition table") + #:listbox-items '("msdos" "gpt") + #:listbox-item->text identity + #:button-text button-text + #:button-callback-procedure button-callback))) (define (run-type-page partition) "Run a page asking the user to select a partition type." @@ -128,7 +131,7 @@ Be careful, all data on the disk will be lost.") (run-listbox-selection-page #:info-text (G_ "Please select the file-system type for this partition.") #:title (G_ "File-system type") - #:listbox-items '(ext4 btrfs fat16 fat32 jfs ntfs swap) + #:listbox-items '(ext4 btrfs fat16 fat32 jfs ntfs xfs swap) #:listbox-item->text user-fs-type-name #:sort-listbox-items? #f #:button-text (G_ "Exit") @@ -640,8 +643,10 @@ edit it." default-result)))) ((partition? item) (if (freespace-partition? item) - (run-error-page (G_ "You cannot delete a free space area.") - (G_ "Delete partition")) + (begin + (run-error-page (G_ "You cannot delete a free space area.") + (G_ "Delete partition")) + default-result) (let* ((disk (partition-disk item)) (number-str (partition-print-number item)) (info-text @@ -706,6 +711,13 @@ by pressing the Exit button.~%~%"))) (run-error-page (G_ "No root mount point found.") (G_ "Missing mount point")) + #f) + ((cannot-read-uuid? c) + (run-error-page + (format #f (G_ "Cannot read the ~a partition UUID.\ + You may need to format it.") + (cannot-read-uuid-partition c)) + (G_ "Wrong partition format")) #f)) (check-user-partitions user-partitions)))) (if user-partitions-ok? @@ -786,6 +798,7 @@ by pressing the Exit button.~%~%"))) (format-user-partitions user-partitions-with-pass) (syslog "formatted ~a user partitions~%" (length user-partitions-with-pass)) + (syslog "user-partitions: ~a~%" user-partitions) (destroy-form-and-pop form) user-partitions)) diff --git a/gnu/installer/newt/services.scm b/gnu/installer/newt/services.scm index 74f28e41ba..1af4e7df2d 100644 --- a/gnu/installer/newt/services.scm +++ b/gnu/installer/newt/services.scm @@ -68,6 +68,28 @@ system.") (condition (&installer-step-abort))))))) +(define (run-other-services-cbt-page) + "Run a page allowing the user to select other services." + (let ((items (filter (lambda (service) + (not (member (system-service-type service) + '(desktop + network-management + networking)))) + %system-services))) + (run-checkbox-tree-page + #:info-text (G_ "You can now select other services to run on your \ +system.") + #:title (G_ "Other services") + #:items items + #:selection (map system-service-recommended? items) + #:item->text (compose G_ system-service-name) + #:checkbox-tree-height 9 + #:exit-button-callback-procedure + (lambda () + (raise + (condition + (&installer-step-abort))))))) + (define (run-network-management-page) "Run a page to select among several network management methods." (let ((title (G_ "Network management"))) @@ -100,4 +122,5 @@ client may be enough for a server.") (run-networking-cbt-page) (if (null? desktop) (list (run-network-management-page)) - '())))) + '()) + (run-other-services-cbt-page)))) |