From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id iJObL5X+2F7DLwAA0tVLHw (envelope-from ) for ; Thu, 04 Jun 2020 14:00:53 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id AJtwK5X+2F6aLQAAB5/wlQ (envelope-from ) for ; Thu, 04 Jun 2020 14:00:53 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id A8457941114 for ; Thu, 4 Jun 2020 14:00:28 +0000 (UTC) Received: from localhost ([::1]:42474 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgqPz-0001pl-Cs for larch@yhetil.org; Thu, 04 Jun 2020 10:00:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:35264) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jgqPd-0001Pk-BF for bug-guix@gnu.org; Thu, 04 Jun 2020 10:00:05 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:35605) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jgqPd-00026W-09 for bug-guix@gnu.org; Thu, 04 Jun 2020 10:00:05 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jgqPc-0004Z2-UL for bug-guix@gnu.org; Thu, 04 Jun 2020 10:00:04 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#41541: [PATCH 6/8] system: examples: Add bare-hurd.tmpl. Resent-From: "Jan (janneke) Nieuwenhuizen" Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Thu, 04 Jun 2020 14:00:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 41541 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 41541@debbugs.gnu.org Received: via spool by 41541-submit@debbugs.gnu.org id=B41541.159127918017422 (code B ref 41541); Thu, 04 Jun 2020 14:00:04 +0000 Received: (at 41541) by debbugs.gnu.org; 4 Jun 2020 13:59:40 +0000 Received: from localhost ([127.0.0.1]:47141 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgqP8-0004WX-9w for submit@debbugs.gnu.org; Thu, 04 Jun 2020 09:59:40 -0400 Received: from eggs.gnu.org ([209.51.188.92]:50576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jgqP5-0004VG-G0 for 41541@debbugs.gnu.org; Thu, 04 Jun 2020 09:59:32 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33097) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jgqP0-0001vX-6Z; Thu, 04 Jun 2020 09:59:26 -0400 Received: from [2001:980:1b4f:1:42d2:832d:bb59:862] (port=43728 helo=dundal.fritz.box) by fencepost.gnu.org with esmtpa (Exim 4.82) (envelope-from ) id 1jgqOz-0000GG-KU; Thu, 04 Jun 2020 09:59:25 -0400 From: "Jan (janneke) Nieuwenhuizen" Date: Thu, 4 Jun 2020 15:59:12 +0200 Message-Id: <20200604135914.4499-7-janneke@gnu.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20200604135914.4499-1-janneke@gnu.org> References: <20200604135914.4499-1-janneke@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Spam-Score: -0.01 X-TUID: 4RmeEiWvYg3g With this, we can now build a VM like so ./pre-inst-env guix system vm-image --target=i586-pc-gnu --no-grafts \ gnu/system/examples/bare-hurd.tmpl it boots, but needs some more setup/services to be really useful. See also: ; wip-disk-image. * gnu/system/hurd.scm (%hurd-default-operating-system): New exported variable. * gnu/system/examples/bare-hurd.tmpl: New file. * Makefile.am (EXAMPLES): Add it. --- Makefile.am | 3 +- gnu/services.scm | 5 ++- gnu/system/examples/bare-hurd.tmpl | 24 ++++++++++++++ gnu/system/hurd.scm | 50 ++++++++++++++++++++++++++++-- 4 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 gnu/system/examples/bare-hurd.tmpl diff --git a/Makefile.am b/Makefile.am index 5b64386b53..d8c519b4af 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,7 +7,7 @@ # Copyright © 2017 Mathieu Othacehe # Copyright © 2017 Leo Famulari # Copyright © 2017 Ricardo Wurmus -# Copyright © 2017 Jan Nieuwenhuizen +# Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen # Copyright © 2017 Arun Isaac # Copyright © 2018 Nikita # Copyright © 2018 Julien Lepiller @@ -346,6 +346,7 @@ AUX_FILES = \ EXAMPLES = \ gnu/system/examples/asus-c201.tmpl \ gnu/system/examples/bare-bones.tmpl \ + gnu/system/examples/bare-hurd.tmpl \ gnu/system/examples/beaglebone-black.tmpl \ gnu/system/examples/desktop.tmpl \ gnu/system/examples/lightweight-desktop.tmpl \ diff --git a/gnu/services.scm b/gnu/services.scm index 2e4648bf78..614956fbab 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès ;;; Copyright © 2016 Chris Marusich +;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,10 +30,12 @@ #:use-module (guix describe) #:use-module (guix sets) #:use-module (guix ui) - #:use-module ((guix utils) #:select (source-properties->location)) + #:use-module ((guix utils) #:select (source-properties->location + %current-target-system)) #:use-module (guix modules) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages hurd) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl new file mode 100644 index 0000000000..d100bd6dd8 --- /dev/null +++ b/gnu/system/examples/bare-hurd.tmpl @@ -0,0 +1,24 @@ +;; -*-scheme-*- + +;; This is an operating system configuration template +;; for a "bare bones" setup, with no X11 display server. + +(use-modules (gnu) (gnu system hurd) (guix utils)) + +(define %hurd-os + (operating-system + (inherit %hurd-default-operating-system) + (bootloader (bootloader-configuration + (bootloader grub-minimal-bootloader) + (target "/dev/sdX"))) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext2")) + %base-file-systems)) + (host-name "guixygnu") + (timezone "GNUrope") + (packages %base-packages/hurd) + (services %base-services/hurd))) + +%hurd-os diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 3ccf47aa21..472eca82b9 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -21,6 +21,7 @@ #:use-module (guix gexp) #:use-module (guix profiles) #:use-module (guix utils) + #:use-module (gnu bootloader) #:use-module (gnu bootloader grub) #:use-module (gnu packages admin) #:use-module (gnu packages base) @@ -31,8 +32,17 @@ #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) #:use-module (gnu packages less) + #:use-module (gnu services) + #:use-module (gnu services base) + #:use-module (gnu services hurd) + #:use-module (gnu services shepherd) + #:use-module (gnu system) + #:use-module (gnu system shadow) #:use-module (gnu system vm) - #:export (cross-hurd-image)) + #:export (cross-hurd-image + %base-packages/hurd + %base-services/hurd + %hurd-default-operating-system)) ;;; Commentary: ;;; @@ -44,7 +54,43 @@ (define %base-packages/hurd (list hurd bash coreutils file findutils grep sed guile-3.0 guile-colorized guile-readline - net-base inetutils less which)) + net-base inetutils less shepherd which)) + +(define %base-services/hurd + '()) + +(define %hurd-default-operating-system + (operating-system + (kernel gnumach) + ;; (kernel-loadable-modules '()) + (kernel-arguments '()) + (hurd hurd) + (bootloader (bootloader-configuration + (bootloader grub-minimal-bootloader) + (target "/dev/vda"))) + ;; (label (operating-system-default-label this-operating-system)) + (initrd (lambda _ '())) + (initrd-modules (lambda _ '())) + (firmware '()) + (host-name "guixygnu") + ;; (hosts-file #F) + ;; (mapped-devices '()) + (file-systems '()) + ;; (swap-devices '()) + (users '()) + ;(groups '()) + (skeletons '()) + ;; (issue %default-issue) + (packages %base-packages/hurd) + (timezone "GNUrope") + ;; (locale "en_US.utf8") + (locale-definitions '()) + ;; (locale-libcs '()) + (name-service-switch #f) + (essential-services (hurd-default-essential-services this-operating-system)) + (pam-services '()) + (setuid-programs '()) + (sudoers-file #f))) (define* (cross-hurd-image #:key (hurd hurd) (gnumach gnumach)) "Return a cross-built GNU/Hurd image." -- 2.26.2