diff options
| author | Janneke Nieuwenhuizen <janneke@gnu.org> | 2026-05-14 10:34:41 +0200 |
|---|---|---|
| committer | Janneke Nieuwenhuizen <janneke@gnu.org> | 2026-05-19 18:34:56 +0200 |
| commit | c62a39174e2cdc5d4efaa9c4940ea010d6dba184 (patch) | |
| tree | f1efbeb791d7cfe6251a57cea07345fc6ff5c876 /gnu/system/image.scm | |
| parent | b8f6ad67504ccb29effab431778e592c81632f11 (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.scm | 6 |
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) |
