summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorJanneke Nieuwenhuizen <janneke@gnu.org>2026-01-09 11:04:03 +0100
committerJanneke Nieuwenhuizen <janneke@gnu.org>2026-01-12 22:50:51 +0100
commit139a69b60201769ded53667872ca8dbad8f6e216 (patch)
treeeae1c523105b5e8a5f9bc683d5b21dc9750137ab /gnu
parent0e8f319bcb93c43e7b80816dfbaa8d059ca0e305 (diff)
installer: Add Hurd x86_64 as an option.
* gnu/installer/newt/kernel.scm (run-kernel-page): Rename "Hurd" to "Hurd 32-bit (experimental)". On 64-bit, also offer "Hurd 64-bit (highly experimental!)", and make these strings translatable. Make "Linux Libre" the first option. Add a line break after "When in doubt...". Upon re-entrry, use pre-selected kernel as the default. Make sure to always [re]set %current-target-system, as this page may be revisited and another kernel choice selected. * gnu/installer/kernel.scm (kernel->configuration): Update accordingly. * gnu/installer/final.scm (install-system): Also cater for the 64-bit Hurd by simply adding --target=(%current-target-system). Change-Id: I14cb2d2815265b8841c16cf9bcc3857b1024f507
Diffstat (limited to 'gnu')
-rw-r--r--gnu/installer/final.scm8
-rw-r--r--gnu/installer/kernel.scm4
-rw-r--r--gnu/installer/newt/kernel.scm39
3 files changed, 38 insertions, 13 deletions
diff --git a/gnu/installer/final.scm b/gnu/installer/final.scm
index 45ba1c524be..22c44a27c1e 100644
--- a/gnu/installer/final.scm
+++ b/gnu/installer/final.scm
@@ -1,7 +1,7 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com> 2;;; Copyright © 2018, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
3;;; Copyright © 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org> 3;;; Copyright © 2019, 2020, 2022 Ludovic Courtès <ludo@gnu.org>
4;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> 4;;; Copyright © 2024,2026 Janneke Nieuwenhuizen <janneke@gnu.org>
5;;; 5;;;
6;;; This file is part of GNU Guix. 6;;; This file is part of GNU Guix.
7;;; 7;;;
@@ -168,8 +168,10 @@ or #f. Return #t on success and #f on failure."
168 (const '()))) 168 (const '())))
169 (install-command (append `( "guix" "system" "init" 169 (install-command (append `( "guix" "system" "init"
170 "--fallback" 170 "--fallback"
171 ,@(if (target-hurd?) 171 ,@(if (%current-target-system)
172 '("--target=i586-pc-gnu") 172 `(,(string-append
173 "--target="
174 (%current-target-system)))
173 '())) 175 '()))
174 options 176 options
175 (list (%installer-configuration-file) 177 (list (%installer-configuration-file)
diff --git a/gnu/installer/kernel.scm b/gnu/installer/kernel.scm
index c82b06fb830..a07d24d09a6 100644
--- a/gnu/installer/kernel.scm
+++ b/gnu/installer/kernel.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> 2;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
3;;; 3;;;
4;;; This file is part of GNU Guix. 4;;; This file is part of GNU Guix.
5;;; 5;;;
@@ -27,7 +27,7 @@
27 str) 27 str)
28 28
29(define (kernel->configuration kernel dry-run?) 29(define (kernel->configuration kernel dry-run?)
30 (if (equal? kernel "Hurd") 30 (if (string-prefix? "Hurd" kernel)
31 `((kernel %hurd-default-operating-system-kernel) 31 `((kernel %hurd-default-operating-system-kernel)
32 ,(comment (G_ ";; \"noide\" disables the gnumach IDE driver, enabling rumpdisk.\n")) 32 ,(comment (G_ ";; \"noide\" disables the gnumach IDE driver, enabling rumpdisk.\n"))
33 (kernel-arguments '("noide")) 33 (kernel-arguments '("noide"))
diff --git a/gnu/installer/newt/kernel.scm b/gnu/installer/newt/kernel.scm
index 3117247312f..abf39c6aebd 100644
--- a/gnu/installer/newt/kernel.scm
+++ b/gnu/installer/newt/kernel.scm
@@ -1,5 +1,5 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org> 2;;; Copyright © 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
3;;; 3;;;
4;;; This file is part of GNU Guix. 4;;; This file is part of GNU Guix.
5;;; 5;;;
@@ -23,23 +23,46 @@
23 #:export (run-kernel-page)) 23 #:export (run-kernel-page))
24 24
25(define (run-kernel-page) 25(define (run-kernel-page)
26 (let* ((kernels `(,@(if (target-x86?) '("Hurd") '()) 26 ;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
27 "Linux Libre")) 27 (let* ((hurd-x86 (G_ "Hurd 32-bit (experimental)"))
28 (hurd-x86_64 (G_ "Hurd 64-bit (highly experimental!)"))
29 (linux-libre "Linux Libre")
30 (kernels (parameterize ((%current-target-system #f))
31 `(,linux-libre
32 ,@(cond ((target-x86-64?)
33 (list hurd-x86 hurd-x86_64))
34 ((target-x86?)
35 (list hurd-x86))
36 (else
37 '())))))
38 (default (cond ((equal? (%current-target-system) "i586-pc-gnu")
39 hurd-x86)
40 ((equal? (%current-target-system) "x86_64-pc-gnu")
41 hurd-x86_64)
42 (else
43 linux-libre)))
28 (result 44 (result
29 (run-listbox-selection-page 45 (run-listbox-selection-page
30 #:title (G_ "Kernel") 46 #:title (G_ "Kernel")
31 #:info-text 47 #:info-text
48 ;; TRANSLATORS: "Hurd" is a proper noun and must not be translated.
49 ;; TRANSLATORS: "Linux Libre" is a literal and must not be translated.
32 (G_ "Please select a kernel. When in doubt, choose \"Linux Libre\". 50 (G_ "Please select a kernel. When in doubt, choose \"Linux Libre\".
33The Hurd is offered as a technology preview and development aid; many packages \ 51The Hurd is offered as a technology preview and development aid; many packages \
34are not yet available in Guix, such as a desktop environment or even a windowing \ 52are not yet available in Guix, such as a desktop environment or even a \
35system (X, Wayland).") 53windowing system (X, Wayland).")
36 #:listbox-items kernels 54 #:listbox-items kernels
37 #:listbox-item->text identity 55 #:listbox-item->text identity
38 #:listbox-default-item "Linux Libre" 56 #:listbox-default-item default
39 #:button-text (G_ "Back") 57 #:button-text (G_ "Back")
40 #:button-callback-procedure 58 #:button-callback-procedure
41 (lambda _ 59 (lambda _
42 (abort-to-prompt 'installer-step 'abort))))) 60 (abort-to-prompt 'installer-step 'abort)))))
43 (when (equal? result "Hurd") 61 (let ((target (cond ((equal? result hurd-x86)
44 (%current-target-system "i586-pc-gnu")) 62 "i586-pc-gnu")
63 ((equal? result hurd-x86_64)
64 "x86_64-pc-gnu")
65 (else
66 #f))))
67 (%current-target-system target))
45 result)) 68 result))