M gnu/installer/final.scm => gnu/installer/final.scm +5 -3
@@ 1,7 1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2024,2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ 168,8 168,10 @@ or #f. Return #t on success and #f on failure."
(const '())))
(install-command (append `( "guix" "system" "init"
"--fallback"
- ,@(if (target-hurd?)
- '("--target=i586-pc-gnu")
+ ,@(if (%current-target-system)
+ `(,(string-append
+ "--target="
+ (%current-target-system)))
'()))
options
(list (%installer-configuration-file)
M gnu/installer/kernel.scm => gnu/installer/kernel.scm +2 -2
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ 27,7 27,7 @@
str)
(define (kernel->configuration kernel dry-run?)
- (if (equal? kernel "Hurd")
+ (if (string-prefix? "Hurd" kernel)
`((kernel %hurd-default-operating-system-kernel)
,(comment (G_ ";; \"noide\" disables the gnumach IDE driver, enabling rumpdisk.\n"))
(kernel-arguments '("noide"))
M gnu/installer/newt/kernel.scm => gnu/installer/newt/kernel.scm +31 -8
@@ 1,5 1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ 23,23 23,46 @@
#:export (run-kernel-page))
(define (run-kernel-page)
- (let* ((kernels `(,@(if (target-x86?) '("Hurd") '())
- "Linux Libre"))
+ ;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
+ (let* ((hurd-x86 (G_ "Hurd 32-bit (experimental)"))
+ (hurd-x86_64 (G_ "Hurd 64-bit (highly experimental!)"))
+ (linux-libre "Linux Libre")
+ (kernels (parameterize ((%current-target-system #f))
+ `(,linux-libre
+ ,@(cond ((target-x86-64?)
+ (list hurd-x86 hurd-x86_64))
+ ((target-x86?)
+ (list hurd-x86))
+ (else
+ '())))))
+ (default (cond ((equal? (%current-target-system) "i586-pc-gnu")
+ hurd-x86)
+ ((equal? (%current-target-system) "x86_64-pc-gnu")
+ hurd-x86_64)
+ (else
+ linux-libre)))
(result
(run-listbox-selection-page
#:title (G_ "Kernel")
#:info-text
+ ;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
+ ;; TRANSLATORS: "Linux Libre" is a literal and must not be translated.
(G_ "Please select a kernel. When in doubt, choose \"Linux Libre\".
The Hurd is offered as a technology preview and development aid; many packages \
-are not yet available in Guix, such as a desktop environment or even a windowing \
-system (X, Wayland).")
+are not yet available in Guix, such as a desktop environment or even a \
+windowing system (X, Wayland).")
#:listbox-items kernels
#:listbox-item->text identity
- #:listbox-default-item "Linux Libre"
+ #:listbox-default-item default
#:button-text (G_ "Back")
#:button-callback-procedure
(lambda _
(abort-to-prompt 'installer-step 'abort)))))
- (when (equal? result "Hurd")
- (%current-target-system "i586-pc-gnu"))
+ (let ((target (cond ((equal? result hurd-x86)
+ "i586-pc-gnu")
+ ((equal? result hurd-x86_64)
+ "x86_64-pc-gnu")
+ (else
+ #f))))
+ (%current-target-system target))
result))