guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

18/28: system: examples: Add bare-hurd.tmpl.


From: guix-commits
Subject: 18/28: system: examples: Add bare-hurd.tmpl.
Date: Sat, 30 May 2020 11:20:16 -0400 (EDT)

janneke pushed a commit to branch wip-hurd-vm
in repository guix.

commit d04e51d196f0e9c8b11a261fb1574c43575ca234
Author: Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Mon Apr 13 17:15:10 2020 +0200

    system: examples: Add bare-hurd.tmpl.
    
    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: <https://bugs.gnu.org/40839>; 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(-)

diff --git a/Makefile.am b/Makefile.am
index 5b64386..d8c519b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -7,7 +7,7 @@
 # Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 # Copyright © 2017 Leo Famulari <leo@famulari.name>
 # Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
-# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
+# Copyright © 2017, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 # Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
 # Copyright © 2018 Nikita <nikita@n0.is>
 # Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
@@ -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 2e4648b..614956f 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 
<ludo@gnu.org>
 ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
+;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; 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 0000000..d100bd6
--- /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 3ccf47a..472eca8 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."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]