Package: guix-patches;
Reported by: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Date: Mon, 21 Oct 2024 08:15:02 UTC
Severity: normal
Tags: patch
Done: <janneke <at> gnu.org>
Bug is archived. No further changes may be made.
Message #146 received at 73927 <at> debbugs.gnu.org (full text, mbox):
From: Janneke Nieuwenhuizen <janneke <at> gnu.org> To: 73927 <at> debbugs.gnu.org Subject: [PATCH v4 05/18] system: hurd: Remove qemu networking from %base-services/hurd. Date: Wed, 30 Oct 2024 15:30:34 +0100
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 --- gnu/services/virtualization.scm | 4 ++-- gnu/system/examples/bare-hurd.tmpl | 10 ++++++++-- gnu/system/hurd.scm | 23 ++++++++++++++--------- gnu/system/images/hurd.scm | 2 +- 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 <at> gmail.com> ;;; Copyright © 2018, 2020-2024 Ludovic Courtès <ludo <at> gnu.org> -;;; Copyright © 2020, 2021, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> +;;; Copyright © 2020, 2021, 2023, 2024 Janneke Nieuwenhuizen <janneke <at> gnu.org> ;;; Copyright © 2021 Timotej Lazar <timotej.lazar <at> araneo.si> ;;; Copyright © 2022 Oleg Pykhalov <go.wigust <at> gmail.com> ;;; Copyright © 2022 Leo Nikkilä <hello <at> lnikki.la> @@ -1643,7 +1643,7 @@ (define %hurd-vm-operating-system ;; /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 <at> gnu.org> -;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org> +;;; Copyright © 2020, 2023, 2024 Janneke Nieuwenhuizen <janneke <at> gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -47,6 +47,7 @@ (define-module (gnu system hurd) #: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-packages/hurd (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 @@ (define %base-services/hurd (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 @@ (define hurd-barebones-os (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) -- Janneke Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond https://LilyPond.org Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.