Skip to content
Tech News
← Back to articles

GNU Hurd News 2026-Q2

read original more articles

Hello and welcome to another Qoth! Here's what's been happening in Q2 of 2026!

Joshua Branson added a pretty cool svg logo for our ethernet multiplexor. He built that image with Inkscape whilst using a Hurd laptop (Thinkpad 420) running on real iron! The Hurd wiki could certainly use more artwork. Perhaps you have a favorite Hurd translator that you believes needs some artwork!

Sergey Bugaev announced his WIP 9pfs (source code), and it has a wiki page! He writes:

Some years ago, I experimented with implementing a 9P translator for the Hurd. Hopefully there is no need to tell this list what 9P is :) Besides just browsing files on the few existing servers out there, a potential use case is virtio-9p, to enable shared directory trees between VMs and the host. But that would need someone to implement virtio support in the Hurd. I wanted to complete 9pfs before publishing, but that ultimately didn't happen, so now it's time to turn it over to the community. I now went and made the repository public on GitHub: https://github.com/bugaevc/9pfs What's implemented is basic browsing (readdir, stat), path resolution (dir_lookup), and reading files (io_read). And below that, the whole tracking for nodes, peropens, protids, fids, tags, and 9p RPCs. Improvements are welcome, send patches to this list with [PATCH 9pfs] in the subject. A good starting point would be to continue porting things that I had implemented in the old netfs-based version (see netfs.c) but didn't yet port to the new one.

He then got a little more motivated, and he added some write support!

Etienne Brateau added validation to msync, so that the Hurd better follows POSIX.

Diego Nieto Cid worked on allowing privileged users to set their task priority (nice value). His patches landed in glibc and GNU Mach. He also fixed a tiny bug in our test suite. He fixed an adjtime bug, which is helpful to the OpenNTPD port, and he fixed two more bugs.

Paulo Duarte sent a RFC patch series trying to commit Sergey’s previous AArch64 work. He writes:

This series adds the gnumach kernel-side implementation for the aarch64 ABI Sergey landed in April 2024, plus the test-suite arms. Patch 01 brings in the aarch64-only sources from bugaevc/wip-aarch64 verbatim, with Sergey as Author; the rest is mine. The meaningful divergence from wip-aarch64 is what I left out: roughly 150 files of cross-arch refactoring across kern/, ipc/, vm/, device/intr.{c,h}, and the i386 tree. Each got replaced with a smaller per-arch shim under aarch64/ so kern/bootstrap.c, device/intr.{c,h}, kern/lock.h, and the i386 trees all stay bit-identical to current master. The shared-file footprint outside aarch64/ is four files: a new ELF constant, two missing decls plus their include, and a linker-symbol filter extension... Tested: 12/12 pass on x86_64, i686, and aarch64 under qemu. No bare-metal validation yet. I plan to build bootable images and boot the kernel on Apple M1 / Raspberry Pi (aarch64) and an x86_64 box (x86_64 + i686). Help on any of these welcome.

He also fixed a tiny cross compilation issue.

... continue reading