diff options
Diffstat (limited to 'gnu/system')
-rw-r--r-- | gnu/system/hurd.scm | 17 | ||||
-rw-r--r-- | gnu/system/images/hurd.scm | 72 |
2 files changed, 87 insertions, 2 deletions
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 9a351529e8..6263d3de71 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -18,6 +18,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu system hurd) + #:use-module (ice-9 match) #:use-module (guix gexp) #:use-module (guix profiles) #:use-module (guix utils) @@ -51,6 +52,8 @@ %desktop-services/hurd %hurd-default-operating-system %hurd-default-operating-system-kernel + %hurd64-default-operating-system + %hurd64-default-operating-system-kernel %setuid-programs/hurd)) ;;; Commentary: @@ -68,6 +71,14 @@ (%current-target-system #f)) gnumach))) +(define %hurd64-default-operating-system-kernel + (if (system-hurd?) + gnumach + ;; A cross-built GNUmach does not work + (with-parameters ((%current-system "x86_64-linux") + (%current-target-system #f)) + gnumach))) + (define %base-packages/hurd ;; Note: the Shepherd comes before the Hurd, not just because its duty is to ;; shepherd the herd, but also because we want its 'halt' and 'reboot' @@ -142,3 +153,9 @@ (essential-services (hurd-default-essential-services this-operating-system)) (privileged-programs '()) (setuid-programs %setuid-programs/hurd))) + +(define %hurd64-default-operating-system + (operating-system + (inherit %hurd-default-operating-system) + (kernel %hurd64-default-operating-system-kernel))) + diff --git a/gnu/system/images/hurd.scm b/gnu/system/images/hurd.scm index 01c422a54f..67815aeb9b 100644 --- a/gnu/system/images/hurd.scm +++ b/gnu/system/images/hurd.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,7 +36,14 @@ hurd-image-type hurd-qcow2-image-type hurd-barebones-disk-image - hurd-barebones-qcow2-image)) + hurd-barebones-qcow2-image + + hurd64-barebones-os + hurd64-disk-image + hurd6-image-type + hurd64-qcow2-image-type + hurd64-barebones-disk-image + hurd64-barebones-qcow2-image)) (define hurd-barebones-os (operating-system @@ -62,6 +69,30 @@ (password-authentication? #t))) %base-services+qemu-networking/hurd)))) +(define hurd64-barebones-os + (operating-system + (inherit %hurd64-default-operating-system) + (bootloader (bootloader-configuration + (bootloader grub-minimal-bootloader) + (targets '("/dev/sdX")))) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext2")) + %base-file-systems)) + (host-name "guixygnu") + (timezone "Europe/Amsterdam") + (packages (cons openssh-sans-x %base-packages/hurd)) + (services (cons (service openssh-service-type + (openssh-configuration + (openssh openssh-sans-x) + (use-pam? #f) + (port-number 2222) + (permit-root-login #t) + (allow-empty-passwords? #t) + (password-authentication? #t))) + %base-services+qemu-networking/hurd)))) + (define hurd-initialize-root-partition #~(lambda* (#:rest args) (apply initialize-root-partition @@ -115,5 +146,42 @@ #:type hurd-qcow2-image-type)) (name 'hurd-barebones.qcow2))) + +;;; +;;; 64bit Hurd +;;; +(define hurd64-disk-image + (image + (inherit hurd-disk-image) + (platform x86_64-gnu))) + +(define hurd64-image-type + (image-type + (name 'hurd64-raw) + (constructor (cut image-with-os hurd64-disk-image <>)))) + +(define hurd64-qcow2-image-type + (image-type + (name 'hurd64-qcow2) + (constructor (lambda (os) + (image + (inherit hurd64-disk-image) + (format 'compressed-qcow2) + (operating-system os)))))) + +(define hurd64-barebones-disk-image + (image + (inherit + (os+platform->image hurd64-barebones-os x86_64-gnu + #:type hurd64-image-type)) + (name 'hurd64-barebones-disk-image))) + +(define hurd64-barebones-qcow2-image + (image + (inherit + (os+platform->image hurd64-barebones-os x86_64-gnu + #:type hurd64-qcow2-image-type)) + (name 'hurd64-barebones.qcow2))) + ;; Return the default image. hurd-barebones-qcow2-image |