summaryrefslogtreecommitdiff
path: root/gnu/system/images
diff options
context:
space:
mode:
authorJanneke Nieuwenhuizen <janneke@gnu.org>2026-05-14 10:34:41 +0200
committerJanneke Nieuwenhuizen <janneke@gnu.org>2026-05-19 18:34:56 +0200
commitc62a39174e2cdc5d4efaa9c4940ea010d6dba184 (patch)
treef1efbeb791d7cfe6251a57cea07345fc6ff5c876 /gnu/system/images
parentb8f6ad67504ccb29effab431778e592c81632f11 (diff)
system: hurd-boot: Prepare for runsystem in Guile.
Fo guile to run, it needs pipe support: without pipe support it aborts at startup. Pipe support is currently createn in runsystem by creating a passive translator settrans --create /servers/socket/1 /hurd/pflocal However, this needs a writable root file-system, and runsystem is started with a readonly root file-system. This patch enables running guile early in runsystem, and thus prepares for replacing the runsystem shell script with a guile program, by embedding the servers/socket/1 passive translator into the hurd system image using xattr. * gnu/build/hurd-boot.scm (make-hurd-device-nodes): Change optional root parameter to keyword #:root. Add #:hurd keyword parameter. Use it to create servers/socket/1 (pipe) and proc passive xattr translators. * gnu/build/image.scm (initialize-root-partition): Update caller. * gnu/system/image.scm (with-imported-modules*): Include (ice-9 optargs). * gnu/system/images/hurd.scm (hurd-initialize-root-partition): Use it to update caller. * guix/scripts/system.scm (install): Update caller. Change-Id: Ib3a672ae78bd969a2a4c0e33db8e38ccf71238ba Merges: #8609
Diffstat (limited to 'gnu/system/images')
-rw-r--r--gnu/system/images/hurd.scm12
1 files changed, 10 insertions, 2 deletions
diff --git a/gnu/system/images/hurd.scm b/gnu/system/images/hurd.scm
index ba223b1e0cd..c65a9c8f13d 100644
--- a/gnu/system/images/hurd.scm
+++ b/gnu/system/images/hurd.scm
@@ -1,6 +1,6 @@
1;;; GNU Guix --- Functional package management for GNU 1;;; GNU Guix --- Functional package management for GNU
2;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> 2;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com>
3;;; Copyright © 2020, 2024 Janneke Nieuwenhuizen <janneke@gnu.org> 3;;; Copyright © 2020, 2024, 2026 Janneke Nieuwenhuizen <janneke@gnu.org>
4;;; 4;;;
5;;; This file is part of GNU Guix. 5;;; This file is part of GNU Guix.
6;;; 6;;;
@@ -22,6 +22,7 @@
22 #:use-module (gnu bootloader) 22 #:use-module (gnu bootloader)
23 #:use-module (gnu bootloader grub) 23 #:use-module (gnu bootloader grub)
24 #:use-module (gnu image) 24 #:use-module (gnu image)
25 #:use-module (gnu packages hurd)
25 #:use-module (gnu packages ssh) 26 #:use-module (gnu packages ssh)
26 #:use-module (guix platforms x86) 27 #:use-module (guix platforms x86)
27 #:use-module (gnu services) 28 #:use-module (gnu services)
@@ -97,7 +98,14 @@
97 #~(lambda* (#:rest args) 98 #~(lambda* (#:rest args)
98 (apply initialize-root-partition 99 (apply initialize-root-partition
99 (append args 100 (append args
100 (list #:make-device-nodes make-hurd-device-nodes 101 (list #:make-device-nodes
102 (lambda device-args
103 (let-keywords (cdr args) #t
104 ((system-directory #f))
105 (let ((hurd (in-vicinity system-directory
106 "hurd/hurd")))
107 (apply make-hurd-device-nodes
108 (cons* #:hurd hurd device-args)))))
101 ;; XXX Creating a db.sqlite with journal_mode=WAL 109 ;; XXX Creating a db.sqlite with journal_mode=WAL
102 ;; yields "unable to open database file" on GNU/Hurd 110 ;; yields "unable to open database file" on GNU/Hurd
103 ;; for an sqlite with the hurd-locking-mode.patch; 111 ;; for an sqlite with the hurd-locking-mode.patch;