From 3c8f9c56b9ba7d4062a6710e475bdfaf0cf786c2 Mon Sep 17 00:00:00 2001 From: "jbranso@dismail.de" Date: Sun, 7 Jan 2024 11:18:20 -0500 Subject: news/2023-q4.mdwn: new qoth for q4 of 2023. This is version 3 of the last qoth of 2023. I've incorporated Dr. Arne's comments. Message-ID: <20240107161926.1594-1-jbranso@dismail.de> --- news/2023-q4.mdwn | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 news/2023-q4.mdwn diff --git a/news/2023-q4.mdwn b/news/2023-q4.mdwn new file mode 100644 index 00000000..294b6b22 --- /dev/null +++ b/news/2023-q4.mdwn @@ -0,0 +1,121 @@ +[[!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-01-05 22:22 UTC"]] + +Hello! Welcome to a new qoth. This qoth covers new and interesting GNU/Hurd +developments in Q4 of 2023! +[[!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=""" + +Samuel Thibault fixed gcc's Hurd's default pie and [[added static pie +support|https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg00061.html]]. +He also added a [[whatis +command|https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg00007.html]] +to GNU Mach's kernel debugger, which can determine what an +address points to (a stack? a port? some kalloc? ...). He also added +[[hurd-amd64 support to +GCC|https://lists.debian.org/debian-hurd/2023/11/msg00039.html]]. + +Samuel requested that the Hurd team set up a [[continuous +integration,|https://lists.gnu.org/archive/html/bug-hurd/2023-12/msg00007.html]] +so that when developers make code changes, they can be certain that +they did not break anything. It turns out that the Hurd supports +several different environments: 32 bit, 64 bit, 32-on-64 bit, ACPI, +non-ACPI, SMP, non-SMP, Xen, etc. Apparently Flavio has a [[personal +CI|https://github.com/flavioc/cross-hurd/actions/runs/7080757561]], +but it is set up in a Debian independent way. If you are interested in +helping the Hurd project set up a CI, then please get in touch! + +Luca Dariz worked on adding [[some simple GNU Mach user-space tests +|https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg00031.html]]. +With a working MiG, a GNU/Linux machine can run make check in the GNU +Mach source code, which will launch qemu to ensure that 32 bit (PAE +and non PAE), 32 on 64 bit, and full 64 bit GNU Mach works. We +currently do this testing on GNU/Linux, because qemu does not run on +the Hurd. + +Many people worked on the Hurd's new [[x86_64 bit +support|https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg00036.html]]. +A 64-bit debian bbuild is set up, and we can bootstrap a chroot! The +hurd-amd64 wanna-build infrastructure is also set up. We are having +issues reliably building packages on a 64-bit Hurd, which lead Samuel +to uncover and fix [[a proc +leak|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00035.html]]. + +Flavio Cruz [[improved GNU Mach's +IPC|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00033.html]] +by reordering `mach_msg_type_t` fields to byte align `msgt_name` and +`msgt_size`. He also created a patch series to [[avoid message +resizing for +x86_64|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00028.html]]. +He also [[removed untyped mach RPC +code|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00026.html]]. +GNU Mach uses typed IPC. The Hurd could support both typed and +untyped, but it appears that the Hurd only uses typed RPC. So it +seems best to remove any untyped RPC code. + +Sergey Bugaev added [[GNU Mach entry re-coalescing +support|https://darnassus.sceen.net/~hurd-web/open_issues/gnumach_vm_map_entry_forward_merging/]]. +Essentially, Mach is not always able to merge two vm entries that are +made next to each other, which slows down ext2 and bash. Sergey +allowed GNU Mach to merge entries in the common cases, which greatly +helps ext2fs. + +Sergey is also working on [[porting the Ladybird web +browser|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00013.html]] +to the Hurd. The author of this post uses the [[netsurf web +browser|https://www.netsurf-browser.org/]] on the Hurd, which works on +simple websites like wikipedia, but it badly renders javascript heavy +websites, which makes many websites un-useable. If Sergey is +successful in porting [[Ladybird|https://ladybird.dev/]], then Hurd +users could start using sites like Github! It is worth noting that +someone should update the [[Firefox +port|https://lists.debian.org/debian-hurd/2014/09/msg00070.html]] as +well. + +Sergey also started [[porting the Hurd to +AArch64!|https://lists.gnu.org/archive/html/bug-hurd/2023-12/msg00110.html]] +While a port to RISC-V might be more exciting, it is worth mentioning +that AArch64 is more established. What is interesting is that Sergey +is already able to build Hurd servers for AArch64! Normally, in order +to run the binaries, one would port GNU Mach to AArch64. Luckily for +us, he turned to GDB and directly ran a 'Hello World' Hurd AArch64 +binary on Linux! This helped him fix some bugs along the way. We +still need to define the ABI and complete the GNU Mach port, but this +is exciting news! + +Tobias Platen started [[porting GNU Mach to +Power9|https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg00021.html]]. + +So 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 [[get in contact|contact_us]] -- and maybe already +grab the [[source code|source_repositories]]. + +--- + +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]]. + +"""]] -- cgit v1.2.3