mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-25 03:55:08 -06:00
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
This commit is contained in:
parent
0e8f319bcb
commit
139a69b602
3 changed files with 38 additions and 13 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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"))
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue