summaryrefslogtreecommitdiff
path: root/gnu/system/image.scm
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/image.scm
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/image.scm')
-rw-r--r--gnu/system/image.scm6
1 files changed, 4 insertions, 2 deletions
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 0e4967012c8..bdf4aff9718 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -352,7 +352,8 @@ set to the given OS."
352(define-syntax-rule (with-imported-modules* gexp* ...) 352(define-syntax-rule (with-imported-modules* gexp* ...)
353 (with-extensions gcrypt-sqlite3&co 353 (with-extensions gcrypt-sqlite3&co
354 (with-imported-modules `(,@(source-module-closure 354 (with-imported-modules `(,@(source-module-closure
355 '((gnu build image) 355 '((ice-9 optargs)
356 (gnu build image)
356 (gnu build bootloader) 357 (gnu build bootloader)
357 (gnu build hurd-boot) 358 (gnu build hurd-boot)
358 (gnu build linux-boot) 359 (gnu build linux-boot)
@@ -360,7 +361,8 @@ set to the given OS."
360 #:select? neither-config-nor-git?) 361 #:select? neither-config-nor-git?)
361 ((guix config) => ,(make-config.scm))) 362 ((guix config) => ,(make-config.scm)))
362 #~(begin 363 #~(begin
363 (use-modules (gnu build image) 364 (use-modules (ice-9 optargs)
365 (gnu build image)
364 (gnu build bootloader) 366 (gnu build bootloader)
365 (gnu build hurd-boot) 367 (gnu build hurd-boot)
366 (gnu build linux-boot) 368 (gnu build linux-boot)