summaryrefslogtreecommitdiff
path: root/news/2024-q1.mdwm
diff options
context:
space:
mode:
Diffstat (limited to 'news/2024-q1.mdwm')
-rw-r--r--news/2024-q1.mdwm203
1 files changed, 203 insertions, 0 deletions
diff --git a/news/2024-q1.mdwm b/news/2024-q1.mdwm
new file mode 100644
index 00000000..eb756283
--- /dev/null
+++ b/news/2024-q1.mdwm
@@ -0,0 +1,203 @@
+[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!meta date="2024-04-05 11:07 UTC"]]
+
+Hello! Welcome to a new qoth. This qoth covers new and interesting GNU/Hurd
+developments in Q1 of 2024!
+[[!if test="included()" then="""[[!toggle id=full_news
+text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]"""
+else="
+[[!paste id=full_news]]"]]
+
+[[!cut id="full_news" text="""
+
+Etienne Brateau modified console-client to use [xkbcommon instead of x11 for xkb
+extended
+support](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00060.html),
+which improves keyboard layout coverage a lot!
+
+Flavio Cruz also worked on [porting GDB to the 64-bit
+Hurd](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00147.html),
+implemented `setcontext/getcontext/makecontext/swapcontex ()` in
+[glibc](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00106.html), and [implemented child process resource
+accounting](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00098.html).
+The latter implements`getrusage(RUSAGE_CHILDREN, )` and populates child related
+data in `times()`.
+
+He fixed the [perl testsuite for the
+Hurd](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00021.html), and he
+also posted a [RFC to enhance tracing
+utilities](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00034.html),
+which he used to port the RPC format to 64 bit.
+
+Flavio also had a smattering of fixes
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00219.html),
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00091.html),
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00151.html),
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00008.html), and
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00068.html).
+
+Damien Zammit had some fixes including [fixing the console with APIC
+enabled](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00277.html),
+[patching GNU Mach to support ACPI
+v2](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00278.html), [fixing
+baud rate on com
+ports](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00176.html),
+[porting the Hurd to some AMD
+CPUs](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00220.html) (WIP),
+[adding HPET (high precision
+timers)](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00039.html). He
+also worked on making `ext2fs` [use xattr by default to store
+translators](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00012.html).
+
+Damien also worked on more SMP fixes
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00016.html),
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00021.html),
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00051.html),
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00063.html),
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00079.html), and
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00124.html).
+Hurd currently boots in SMP mode on the BSP. Damien wrote a test program that lets you run a [task on the APs](https://lists.gnu.org/archive/html/bug-hurd/2024-02/msg00088.html).
+
+Sergey Bugaev [patched binutils to support the GNU/Hurd on
+AArch64](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00000.html), and
+he wrote some patches to make the Hurd easier to port
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00002.html),
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00063.html), and
+[here](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00100.html),
+
+Sergey also posted a fairly large [RFC patch series for his AArch64
+port](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00022.html). He
+writes:
+
+ MIG seems to just work (thanks to all of Flávio's work!). I'm using
+ the same message ABI as on x86_64, and haven't seen any issues so far
+ — neither compiler errors / failed static assertions (about struct
+ sizes and such), nor hardware errors from misaligned accesses.
+
+
+He also mentions that "the hardware hardening features (BTI, MTE, PAC) are
+currently 'not really supported', but I do want to support them in the future."
+Samuel merged
+[many](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00050.html)
+[of](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00051.html)
+[the](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00052.html)
+[patches](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00062.html).
+
+In Sergey's later glibc patch series, he wrote about the [AArch64 port
+progress](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00114.html). He
+wrote:
+
+ Last time, there was no AArch64 port of GNU Mach, and so the only testing
+ I have done was running a simple statically-linked executable on Linux under
+ GDB, which, nevertheless, helped me identify and fix a number of issues.
+
+ Since then, however, I have been (some may say, relentlessly) working on
+ filling in the missing piece, namely porting GNU Mach (with important help &
+ contributions by Luca D.). I am happy to report that we now have an
+ experimental port of GNU Mach that builds and works on AArch64! While that may
+ sound impressive, note that various things about it are in an extremely basic,
+ proof-of-concept state rather than being seriously production-ready; and also
+ that Mach is a small kernel (indeed, a microkernel), and it was designed from
+ the start (back in the 80s) to be portable, so most of the "buisness logic"
+ functionality (virtual memory, IPC, tasks/threads/scheduler) is explicitly
+ arch-independent.
+
+ Despite the scary "WIP proof-of-concept" status, there is enough
+ functionality in Mach to run userland code, handle exceptions and
+ syscalls, interact with the MMU to implement all the expected virtual
+ memory semantics, schedule/switch tasks and threads, and so on.
+ Moreover, all of GNU Mach's userspace self-tests pass!
+
+ This meant there was enough things in place for me to try running
+ glibc on it, and the amazing thing is my simple test executable, the
+ same one I previously tested on Linux with GDB, just worked on real
+ Mach without me having to make any additional changes to the glibc
+ side, or even recompile it.
+
+ But I did not stop there, and I got several of the core Hurd servers
+ working! Namely, these are ext2fs, exec, startup, auth, and proc
+ servers. All of them but ext2fs are dynamically linked; ld
+ aarch64.so.1 sucessfully locates and maps the programs themselves
+ and their required dependencies, and Mach pages in code and data
+ pages from ext2fs as they are accessed, transparently to the
+ program, just as one would expect it to.
+
+
+Be sure to read more from his announcement
+[email](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00114.html).
+
+Sergey also announced [a new Alpine distro based on Hurd](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00180.html) (it
+currently does not have a name). His goal is to add another Hurd distribution,
+which will force the Hurd to work with different software and hopefully fix more
+bugs. Alpine Linux also usually runs the latest software, so this new Hurd
+distribution will be for those who like living on the bleeding edge. He writes:
+
+
+ I have ported many Alpine packages to build with (i386, for now) GNU
+ Mach, the Hurd, and glibc, replacing Linux and musl. If you want a
+ specific number: as of yesterday, I have 299 installable packages; the
+ number of source packages is of course several times less than that.
+ Still, this includes things like curl, ncurses, nano, native binutils
+ & gcc & mig, libffi, openrc, openssl, util-linux, busybox, apk-tools,
+ ... and of course gnumach, hurd (with dependencies like libdaemon,
+ parted, ...), and glibc. Importantly, all this cleanly bootstraps
+ using the scripts/bootstrap.sh script that they provide; this is too
+ somewhat like Flávio's scripts, but it uses the real full Alpine
+ package definitions for e.g. GCC (patched by me for glibc / Hurd
+ support).
+
+ Above the kernel and libc, things remain much as they were in upstream
+ Alpine: the system boots (will boot — I haven't tried it yet) with
+ busybox init & OpenRC, and uses busybox as its basic userland. GNU
+ software such as Bash is installable, too.
+
+
+This new Hurd distribution currently does not have a mailing list, irc room, or
+website. If you are interesting
+in helping Sergei to develop it further, then please email bug-hurd@gnu.org.
+
+Luca Dariz added [userspace
+tests](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00125.html), which
+work with qemu. We currently test the Hurd in qemu on a GNU/Linux host. He also described how [he currently uses the 64-bit
+Hurd](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00047.html).
+Perhaps you should follow that advice if you want to try running a 64-bit Hurd
+on qemu.
+
+Manolo de Medici made a WIP patch series that gets [qemu
+to run on the
+Hurd](https://lists.gnu.org/archive/html/bug-hurd/2024-01/msg00153.html).
+
+I organized a belated GNU/Hurd Christmas party. We had 6 or 7
+attenders, which was pretty awesome! I was not able to record the event, so
+perhaps we should try for another meet perhaps at the end of Q2. If you would
+like to help me plan/organize/join such a party, then please email
+bug-hurd@gnu.org.
+
+If you want to test if your favorite packages work on the Hurd and
+contribute towards making the full GNU system usable for a wider range
+of people, please [[check the contributing page|contributing]].
+
+---
+
+The **GNU Hurd** is the GNU project's replacement for the Unix kernel. It is a
+collection of servers that run on the Mach microkernel to implement file
+systems, network protocols, file access control, and other features that are
+implemented by the Unix kernel or similar kernels (such as Linux). [[More
+detailed|hurd/documentation]].
+
+**GNU Mach** is the microkernel upon which a GNU Hurd system is based. It
+provides an Inter Process Communication (IPC) mechanism that the Hurd uses to
+define interfaces for implementing in a distributed multi-server fashion the
+services a traditional operating system kernel provides. [[More
+detailed|microkernel/mach/gnumach]].
+
+"""]]