<feed xmlns='http://www.w3.org/2005/Atom'>
<title>guix/gnu/build/hurd-boot.scm, branch master</title>
<subtitle>Transactional package manager, declarative GNU/Linux distribution, reproducible deployment tool, and more! https://guix.gnu.org</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/'/>
<entry>
<title>system: hurd-boot: Put the profile’s ‘sbin’ in $PATH for boot.</title>
<updated>2026-06-22T09:52:40+00:00</updated>
<author>
<name>brian cully</name>
<email>bjc@spork.org</email>
</author>
<published>2026-05-15T18:50:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9159bff062a346f97b26f19578d2fdf01d255fea'/>
<id>9159bff062a346f97b26f19578d2fdf01d255fea</id>
<content type='text'>
* gnu/build/hurd-boot.scm (boot-hurd-system): put the profile's sbin in the
path.

Change-Id: I7d640800bbb42d138713def0902d7de5511bfe03
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #9109
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/hurd-boot.scm (boot-hurd-system): put the profile's sbin in the
path.

Change-Id: I7d640800bbb42d138713def0902d7de5511bfe03
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
Merges: #9109
</pre>
</div>
</content>
</entry>
<entry>
<title>system: hurd-boot: Prepare for runsystem in Guile.</title>
<updated>2026-05-19T16:34:56+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2026-05-14T08:34:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=c62a39174e2cdc5d4efaa9c4940ea010d6dba184'/>
<id>c62a39174e2cdc5d4efaa9c4940ea010d6dba184</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>system: hurd-boot: Robustify passive-translator-xattr?.</title>
<updated>2026-05-19T16:33:13+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2026-05-14T08:31:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=b8f6ad67504ccb29effab431778e592c81632f11'/>
<id>b8f6ad67504ccb29effab431778e592c81632f11</id>
<content type='text'>
* gnu/build/hurd-boot.scm (passive-translator-xattr?): Check for existance of
file-name first to avoid spurious backtrace.  Mention caveat of reading
xattrs on Linux in docstring.
* gnu/build/hurd-boot.scm (set-translator):   Mention caveat of writing
xattrs on Linux in docstring.

Change-Id: I0586359add5c565f5857c4923756840010e42cd5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/hurd-boot.scm (passive-translator-xattr?): Check for existance of
file-name first to avoid spurious backtrace.  Mention caveat of reading
xattrs on Linux in docstring.
* gnu/build/hurd-boot.scm (set-translator):   Mention caveat of writing
xattrs on Linux in docstring.

Change-Id: I0586359add5c565f5857c4923756840010e42cd5
</pre>
</div>
</content>
</entry>
<entry>
<title>gnu: hurd: Fix second boot.</title>
<updated>2026-05-13T18:42:37+00:00</updated>
<author>
<name>brian cully</name>
<email>bjc@spork.org</email>
</author>
<published>2026-05-12T15:17:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=a5a45d1822000c962480cc3246542560ce2f6693'/>
<id>a5a45d1822000c962480cc3246542560ce2f6693</id>
<content type='text'>
Don't create /dev/random with a passive translator, so that it won't try to
start while the/var/lib/random-seed is read-only.

* gnu/build/hurd-boot.scm (set-hurd-device-translators): Do not create
/var/lib/random-seed, /dev/random, /dev/urandom.
* gnu/packages/hurd.scm (hurd)[arguments]: Create /var/lib-random-seed,
/dev/random, /dev/urandom as active translators in runsystem.

Change-Id: Id31dda3bd007a78a487a9a3df8dfc25d749f6b7d
Co-authored-by: Janneke Nieuwenhuizen &lt;janneke@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Don't create /dev/random with a passive translator, so that it won't try to
start while the/var/lib/random-seed is read-only.

* gnu/build/hurd-boot.scm (set-hurd-device-translators): Do not create
/var/lib/random-seed, /dev/random, /dev/urandom.
* gnu/packages/hurd.scm (hurd)[arguments]: Create /var/lib-random-seed,
/dev/random, /dev/urandom as active translators in runsystem.

Change-Id: Id31dda3bd007a78a487a9a3df8dfc25d749f6b7d
Co-authored-by: Janneke Nieuwenhuizen &lt;janneke@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>system: hurd: Fix fsck.</title>
<updated>2026-05-13T18:42:36+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2026-05-10T21:20:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d6a9c314cec7d2287c7170f484dc25329d65c129'/>
<id>d6a9c314cec7d2287c7170f484dc25329d65c129</id>
<content type='text'>
* gnu/build/hurd-boot.scm (make-hurd-device-nodes): Create "/dev/console".
* gnu/system.scm (hurd-multiboot-modules): Run ext2fs.static with --readonly.
* gnu/packages/hurd.scm (hurd)[arguments]: Use "fsysopts / --update
--writable" and "fsck --preen --writable" and Debian's return value meme.
Also substitute "/sbin/" in "sbin/fsck.c".

Change-Id: I7bc3cf334939d6f1f00ee8615810338167904e8e
Co-authored-by: Yelninei &lt;yelninei@tutamail.com&gt;
Fixes: #4820
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/hurd-boot.scm (make-hurd-device-nodes): Create "/dev/console".
* gnu/system.scm (hurd-multiboot-modules): Run ext2fs.static with --readonly.
* gnu/packages/hurd.scm (hurd)[arguments]: Use "fsysopts / --update
--writable" and "fsck --preen --writable" and Debian's return value meme.
Also substitute "/sbin/" in "sbin/fsck.c".

Change-Id: I7bc3cf334939d6f1f00ee8615810338167904e8e
Co-authored-by: Yelninei &lt;yelninei@tutamail.com&gt;
Fixes: #4820
</pre>
</div>
</content>
</entry>
<entry>
<title>system: hurd-boot: Redefine /dev/urandom.</title>
<updated>2026-05-13T18:42:36+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2026-05-12T14:43:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=d34477d22ec92608027ee0c5fdd0c33e9d98cb4e'/>
<id>d34477d22ec92608027ee0c5fdd0c33e9d98cb4e</id>
<content type='text'>
* gnu/build/hurd-boot.scm (set-hurd-device-translators): Define /dev/urandom
with --fast instead of symlinking to /dev/random.

Change-Id: Ib8ed5848cc929a367d19ed0083101c01967acb42
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/hurd-boot.scm (set-hurd-device-translators): Define /dev/urandom
with --fast instead of symlinking to /dev/random.

Change-Id: Ib8ed5848cc929a367d19ed0083101c01967acb42
</pre>
</div>
</content>
</entry>
<entry>
<title>system: hurd-boot: Create initial random seed.</title>
<updated>2026-05-13T18:42:36+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2026-05-12T14:04:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=2e6aa8cc761b996b9b0ff49b57adb4e1fcb526f3'/>
<id>2e6aa8cc761b996b9b0ff49b57adb4e1fcb526f3</id>
<content type='text'>
* gnu/build/hurd-boot.scm (set-hurd-device-translators): Create some content
in /var/lib/random-seed.

Change-Id: Ib8ed5848cc929a367d19ed0083101c01967acb42
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/hurd-boot.scm (set-hurd-device-translators): Create some content
in /var/lib/random-seed.

Change-Id: Ib8ed5848cc929a367d19ed0083101c01967acb42
</pre>
</div>
</content>
</entry>
<entry>
<title>hurd-boot: change /etc/mtab to /var/run/mtab.</title>
<updated>2025-10-12T20:22:01+00:00</updated>
<author>
<name>Yelninei</name>
<email>yelninei@tutamail.com</email>
</author>
<published>2025-09-25T14:34:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=9051aa1bd14559f37ae378105d00fc2d2ec4bbca'/>
<id>9051aa1bd14559f37ae378105d00fc2d2ec4bbca</id>
<content type='text'>
This corresponds to "_PATH_MOUNTED" in paths.h from libc.

* gnu/build/hurd-boot.scm (set-hurd-device-translators): Change etc/mtab to var/run/mtab.

Change-Id: I688289fe4b8143ae14a8eef5ba1625c4ebd2a209
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This corresponds to "_PATH_MOUNTED" in paths.h from libc.

* gnu/build/hurd-boot.scm (set-hurd-device-translators): Change etc/mtab to var/run/mtab.

Change-Id: I688289fe4b8143ae14a8eef5ba1625c4ebd2a209
Signed-off-by: Ludovic Courtès &lt;ludo@gnu.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hurd-boot: Support second boot.</title>
<updated>2024-11-11T06:28:33+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2023-05-30T16:08:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=f2cefd700d6fb6ee26a9289b8194524062d2778f'/>
<id>f2cefd700d6fb6ee26a9289b8194524062d2778f</id>
<content type='text'>
* gnu/build/hurd-boot.scm (boot-hurd-system): Check for stale shepherd socket
and remove it.  Be chattier about /hurd symlink replacement.

Change-Id: I5e528c131ebeadb7ebc9727336a0f9301af3e68e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/hurd-boot.scm (boot-hurd-system): Check for stale shepherd socket
and remove it.  Be chattier about /hurd symlink replacement.

Change-Id: I5e528c131ebeadb7ebc9727336a0f9301af3e68e
</pre>
</div>
</content>
</entry>
<entry>
<title>hurd-boot: Support system init: Create essential device nodes.</title>
<updated>2024-10-15T09:13:48+00:00</updated>
<author>
<name>Janneke Nieuwenhuizen</name>
<email>janneke@gnu.org</email>
</author>
<published>2023-05-30T16:07:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/guix/commit/?id=7c93145d9e027cb571bf7634192dfae5468ecde2'/>
<id>7c93145d9e027cb571bf7634192dfae5468ecde2</id>
<content type='text'>
* gnu/build/hurd-boot.scm (make-hurd-device-nodes): Cater for existing
directories (dev, servers).
(set-hurd-device-translators): Remove /servers/socket/1, that is created by
libexec/console-run.  Cater for nonexistent /dev/console.
(boot-hurd-system): Call make-hurd-device-nodes on initial run.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* gnu/build/hurd-boot.scm (make-hurd-device-nodes): Cater for existing
directories (dev, servers).
(set-hurd-device-translators): Remove /servers/socket/1, that is created by
libexec/console-run.  Cater for nonexistent /dev/console.
(boot-hurd-system): Call make-hurd-device-nodes on initial run.
</pre>
</div>
</content>
</entry>
</feed>
