diff options
| author | Janneke Nieuwenhuizen <janneke@gnu.org> | 2026-01-09 11:04:03 +0100 |
|---|---|---|
| committer | Janneke Nieuwenhuizen <janneke@gnu.org> | 2026-01-12 22:50:51 +0100 |
| commit | 139a69b60201769ded53667872ca8dbad8f6e216 (patch) | |
| tree | eae1c523105b5e8a5f9bc683d5b21dc9750137ab /gnu | |
| parent | 0e8f319bcb93c43e7b80816dfbaa8d059ca0e305 (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.scm | 8 | ||||
| -rw-r--r-- | gnu/installer/kernel.scm | 4 | ||||
| -rw-r--r-- | gnu/installer/newt/kernel.scm | 39 |
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\". |
| 33 | The Hurd is offered as a technology preview and development aid; many packages \ | 51 | The Hurd is offered as a technology preview and development aid; many packages \ |
| 34 | are not yet available in Guix, such as a desktop environment or even a windowing \ | 52 | are not yet available in Guix, such as a desktop environment or even a \ |
| 35 | system (X, Wayland).") | 53 | windowing 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)) |
