aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanneke Nieuwenhuizen <janneke@gnu.org>2024-10-20 19:37:25 +0200
committerJan (janneke) Nieuwenhuizen <janneke@gnu.org>2024-11-11 07:28:33 +0100
commit6dbfe1a118dcded3a9d77f8321aa43fbdd255011 (patch)
treed1215abdd57b95bab7e022ab661249467846cfb0
parentfdb23d9db8ca5431e280366c5c834e01eda62a5f (diff)
downloadguix-6dbfe1a118dcded3a9d77f8321aa43fbdd255011.tar.gz
guix-6dbfe1a118dcded3a9d77f8321aa43fbdd255011.zip
system: hurd: Remove qemu networking from %base-services/hurd.
This allows us to use %base-services/hurd for services in a Hurd config for a real machine without removing static-networking. * gnu/system/hurd.scm (%base-services/hurd): Factor networking out to... (%base-services+qemu-networking/hurd): ..this new variable. * gnu/system/examples/bare-hurd.tmpl (%hurd-os): Use it. * gnu/services/virtualization.scm (%hurd-vm-operating-system): Use it. * gnu/system/images/hurd.scm (hurd-barebones-os): Use it. Add comment about QEMU and networking for a real machine. Change-Id: I777a63410383b9bf8b5740e4513dbc1e9fb0fd41
-rw-r--r--gnu/services/virtualization.scm4
-rw-r--r--gnu/system/examples/bare-hurd.tmpl10
-rw-r--r--gnu/system/hurd.scm23
-rw-r--r--gnu/system/images/hurd.scm2
4 files changed, 25 insertions, 14 deletions
diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm
index d87e494348..d33dfa6ca7 100644
--- a/gnu/services/virtualization.scm
+++ b/gnu/services/virtualization.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ryan Moe <ryan.moe@gmail.com>
;;; Copyright © 2018, 2020-2024 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2020, 2021, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2021, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2021 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
@@ -1643,7 +1643,7 @@ preventing password-based authentication as 'root'."
;; /etc/guix/acl file in the childhurd. Thus, clear
;; 'authorize-key?' so that it's not overridden at activation
;; time.
- (modify-services %base-services/hurd
+ (modify-services %base-services+qemu-networking/hurd
(guix-service-type config =>
(guix-configuration
(inherit config)
diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl
index 463c7ee798..68c6d3c166 100644
--- a/gnu/system/examples/bare-hurd.tmpl
+++ b/gnu/system/examples/bare-hurd.tmpl
@@ -1,7 +1,7 @@
;; -*-scheme-*-
;; This is an operating system configuration template
-;; for a "bare bones" setup, with no X11 display server.
+;; for a "bare bones" QEMU setup, with no X11 display server.
;; To build a disk image for a virtual machine, do
;;
@@ -54,6 +54,12 @@
(permit-root-login #t)
(allow-empty-passwords? #t)
(password-authentication? #t)))
- %base-services/hurd))))
+ ;; For installing on a real (non-QEMU) machine, use:
+ ;; (static-networking-service-type
+ ;; (list %loopback-static-networking
+ ;; (static-networking
+ ;; ...)))
+ ;; %base-services/hurd
+ %base-services+qemu-networking/hurd))))
%hurd-os
diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm
index 6d6a20cf57..283bae6f10 100644
--- a/gnu/system/hurd.scm
+++ b/gnu/system/hurd.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020-2024 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,6 +47,7 @@
#:use-module (gnu system vm)
#:export (%base-packages/hurd
%base-services/hurd
+ %base-services+qemu-networking/hurd
%hurd-default-operating-system
%hurd-default-operating-system-kernel
%setuid-programs/hurd))
@@ -79,14 +80,6 @@
(define %base-services/hurd
(append (list (service hurd-console-service-type
(hurd-console-configuration (hurd hurd)))
- (service static-networking-service-type
- (list %loopback-static-networking
-
- ;; QEMU user-mode networking. To get "eth0", you need
- ;; QEMU to emulate a device for which Mach has an
- ;; in-kernel driver, for instance with:
- ;; --device rtl8139,netdev=net0 --netdev user,id=net0
- %qemu-static-networking))
(service guix-service-type
(guix-configuration
(extra-options '("--disable-chroot"
@@ -102,6 +95,18 @@
(tty (string-append "tty" (number->string n))))))
(iota 6 1))))
+(define %base-services+qemu-networking/hurd
+ (cons
+ (service static-networking-service-type
+ (list %loopback-static-networking
+
+ ;; QEMU user-mode networking. To get "eth0", you need
+ ;; QEMU to emulate a device for which Mach has an
+ ;; in-kernel driver, for instance with:
+ ;; --device rtl8139,netdev=net0 --netdev user,id=net0
+ %qemu-static-networking))
+ %base-services/hurd))
+
(define %setuid-programs/hurd
;; Default set of setuid-root programs.
(map file-like->setuid-program
diff --git a/gnu/system/images/hurd.scm b/gnu/system/images/hurd.scm
index 9b618f7dc6..01c422a54f 100644
--- a/gnu/system/images/hurd.scm
+++ b/gnu/system/images/hurd.scm
@@ -60,7 +60,7 @@
(permit-root-login #t)
(allow-empty-passwords? #t)
(password-authentication? #t)))
- %base-services/hurd))))
+ %base-services+qemu-networking/hurd))))
(define hurd-initialize-root-partition
#~(lambda* (#:rest args)