janneke pushed a commit to branch master
in repository guix-artwork.
commit bc433a78e2ed72b2689cfd04020202b17a63fa37
Author: Ludovic Courtès <[email protected]>
AuthorDate: Sun Nov 24 18:09:17 2024 +0100
website: Update draft post about Hurd on Thinkpad.
* website/drafts/hurd-on-thinkpad-x60.md: Typos and nitpicks.
---
website/drafts/hurd-on-thinkpad-x60.md | 91 +++++++++++-----------------------
1 file changed, 28 insertions(+), 63 deletions(-)
diff --git a/website/drafts/hurd-on-thinkpad-x60.md
b/website/drafts/hurd-on-thinkpad-x60.md
index 8a6fcbd..289cb44 100644
--- a/website/drafts/hurd-on-thinkpad-x60.md
+++ b/website/drafts/hurd-on-thinkpad-x60.md
@@ -6,8 +6,9 @@ slug: hurd-on-thinkpad
tags: GNU/Hurd
---
-A lot has happened since our [Childhurds and GNU/Hurd
-Substitutes](https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/)
+A lot has happened with respect to [the Hurd](https://hurd.gnu.org)
+since our [_Childhurds and GNU/Hurd
+Substitutes_](https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/)
post. As long as two years ago some of you [have been
asking](https://logs.guix.gnu.org/hurd/2022-05-15.log#070056) for a
progress update and although there [have been
@@ -27,7 +28,7 @@ longer. So here is a short overview of our Hurd work over
the past
years:
* Update [Hurd to 3ff7053, gnumach 1.8+git20220827, and fix build
-
failures](https://lists.gnu.org/archive/html/guix-patches/2023-03/msg02186.html)
+
failures](https://lists.gnu.org/archive/html/guix-patches/2023-03/msg02186.html),
* A [native compilation fix for
gcc-boot0](https://lists.gnu.org/archive/html/bug-guix/2023-05/msg00526.html),
@@ -47,12 +48,12 @@ years:
so that all development dependencies of the guix package are now
available,
- * A hack to use git source in commencement to [update and fix cross
+ * A hack to use Git source in commencement to [update and fix cross
build and native build for the
Hurd](https://lists.gnu.org/archive/html/guix-patches/2023-07/msg00630.html),
- * Support for buiding guix natively on the Hurd by splitting the
- [guix build into more steps for 32bit
+ * Support for buiding `guix` natively on the Hurd by splitting the
+ [build into more steps for 32-bit
hosts](https://lists.gnu.org/archive/html/bug-guix/2023-08/msg00190.html)
* Even nicer offloading support for Childhurds by [introducing Smart
@@ -60,19 +61,19 @@ years:
so that now both the Bordeaux and Berlin build farms build
packages for i586-gnu,
- * Locale fixes for [wrong ‘glibc-utf8-locales’ package used on
+ * Locale fixes for [wrong `glibc-utf8-locales` package used on
GNU/Hurd](https://lists.gnu.org/archive/html/bug-guix/2023-10/msg00223.html),
- * More locale fixes to [use glibc-utf8-locales/hurd in
+ * More locale fixes to [use `glibc-utf8-locales/hurd` in
%standard-patch-inputs](https://lists.gnu.org/archive/html/guix-patches/2023-11/msg01749.html),
* And even more locale fixes for [using the right locales on
GNU/Hurd](https://lists.gnu.org/archive/html/guix-patches/2023-11/msg01932.html),
- * A [new GlibC
+ * A [new glibc
2.38](https://lists.gnu.org/archive/html/guix-patches/2023-12/msg00343.html)
- allowing us to do `(define-public glibc/hurd glibc)`, i.e., once
- again use the same glibc for linux and hurd alike, and: Better
+ allowing us to do `(define-public glibc/hurd glibc)`—i.e., once
+ again use the same glibc for Linux and Hurd alike, and: Better
Hurd support!,
* Creation of [`hurd-team`
@@ -86,11 +87,11 @@ years:
notes](https://lists.gnu.org/archive/html/guix-patches/2024-02/msg00035.html)
that contain some nice ideas,
- * Another [new GlibC
+ * Another [new glibc
2.39](https://lists.gnu.org/archive/html/guix-commits/2024-02/msg00941.html);
even better Hurd support, opening the door to `x86_64` support,
- * Yet another [restoring of i586-gnu (GNU/Hurd)
+ * Yet another [restoring of i586-gnu (32-bit GNU/Hurd)
support](https://mail.gnu.org/archive/html/guix-patches/2024-08/msg00627.html),
* The installer just [learnt about the
@@ -114,23 +115,23 @@ After we [resurrected the NetDDE
build](https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00449.html),
and with [kind help of the Hurd
developers](https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00455.html)
-we finaly managed to [support NetDDE for the
+we finally managed to [support NetDDE for the
Hurd.](https://git.savannah.gnu.org/cgit/guix.git/commit/?id=9c1957921a1f53973c9b4b895f6d6d5fa63fe2dd).
This allows the usage of the Intel 82573L Gigabit Ethernet Controller
of the Thinkpad X60 (and many other network cards, possibly even
-WIFI). Instead of using the builtin kernel driver in GNU Mach it
-would be running as a userland driver.
+WIFI). Instead of using the builtin kernel driver in GNU Mach, it
+would be running *as a userland driver*.
What sparked this development was upstream's NetBSD rumpdisk support
that would allow using modern hard disks such as SSDs, again running
-as a userland driver. The harddisk support builtin in GNU Mach was
+as a userland driver. Hard disk support builtin in GNU Mach was
once considered to be a nice hack but it only supported disks up to
-128GiB.
+128 GiB…
First, we needed to [fix the cross build on
Guix](https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00400.html).
-After the [Initial attempt at rumpdisk support for the
+After the [initial attempt at rumpdisk support for the
Hurd](https://lists.gnu.org/archive/html/guix-patches/2023-05/msg00633.html)
it [took
(v2)](https://lists.gnu.org/archive/html/guix-patches/2023-05/msg00659.html)
@@ -150,8 +151,8 @@ What did not really help is that upstream's rumpkernel
archive [was
ridiculously
large](https://lists.gnu.org/archive/html/bug-hurd/2023-06/msg00099.html).
We managed to work with upstream to remove unused bits from the
-archive. Upstream created a new archive that instead of 1.8GiB now
-only measures 670MiB.
+archive. Upstream created a new archive that instead of 1.8 GiB (!) now
+“only” weighs 670 MiB.
Anyway, after a lot of building, rebuilding, and debugging and some
more with [kind help from
@@ -163,7 +164,7 @@
Childhurd](https://toot.aquilenet.fr/@civodul/110848429561223704).
# Initial Guix/Hurd on the Thinkpad X60
-Now that the last(!) core-updates merge has finally happened (thanks
+Now that the last (!) `core-updates` merge has finally happened (thanks
everyone!), the recipe of installing Guix/Hurd has been much
simpfilied. It goes something along these lines.
@@ -345,8 +346,8 @@ You may want to add some additional packages such as
`git-minimal`
from `(gnu packages version-control)` and `sqlite` from `(gnu packages
sqlite)`.
-If you also intend to do guix development on the Hurd, e.g., debugging
-and fixing native package builds then you might want to include all
+If you also intend to do Guix development on the Hurd—e.g., debugging
+and fixing native package builds—then you might want to include all
dependencies to build the guix package, see the
[`devel-hurd.tmpl`](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/examples/devel-hurd.tmpl?h=hurd-team)
for inspiration on how to do that. Note that any package you add must
@@ -394,7 +395,7 @@ it must currently be done manually, e.g., by booting from
the
installer USB stick.
Upstream now has decent support for 64bit (x86_64) albeit [with more
-bugs and less
+bugs and fewer
packages](https://lists.gnu.org/archive/html/bug-hurd/2024-07/msg00058.html).
As mentioned in the overview [we are now
working](https://lists.gnu.org/archive/html/guix-patches/2024-11/msg00708.html)
@@ -407,7 +408,7 @@ progress](https://todon.nl/@janneke/113457925305954698);
more on that
in another post. Other interesting task for Guix include:
* Have `guix system reconfigure` work on the Hurd,
- * Figure out WIFI support with NetDDE (and add it to installer!),
+ * Figure out WiFi support with NetDDE (and add it to installer!),
* An [isolated build
environment](https://issues.guix.gnu.org/43857) (or better
wait for, err, contribute to the [Guile
@@ -426,7 +427,7 @@ now includes:
sponsored by [NLnet](https://nlnet.nl), thanks!),
*
[Rumpnet](https://lists.gnu.org/archive/html//bug-hurd/2024-05/msg00002.html),
* [SMP](https://lists.gnu.org/archive/html/bug-hurd/2024-09/msg00053.html),
- *
[Aarch64](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00114.html).
+ *
[AArch64](https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00114.html).
All these tasks look daunting, and indeed that’s a lot of work ahead.
But the development environment is certainly an advantage. Take an
@@ -440,39 +441,3 @@ speed up development and make it a very nice experience.
Join `#guix` and `#hurd` on
[`libera.chat`](https://guix.gnu.org/en/contact/irc/) or the [mailing
lists](https://guix.gnu.org/en/contact) and get involved!
-
-#### About GNU Guix
-
-[GNU Guix](https://www.gnu.org/software/guix) is a transactional package
-manager and an advanced distribution of the GNU system that [respects
-user
-freedom](https://www.gnu.org/distros/free-system-distribution-guidelines.html).
-Guix can be used on top of any system running the Hurd or the Linux
-kernel, or it can be used as a standalone operating system distribution
-for i686, x86_64, ARMv7, and AArch64 machines.
-
-In addition to standard package management features, Guix supports
-transactional upgrades and roll-backs, unprivileged package management,
-per-user profiles, and garbage collection. When used as a standalone
-GNU/Linux distribution, Guix offers a declarative, stateless approach to
-operating system configuration management. Guix is highly customizable
-and hackable through [Guile](https://www.gnu.org/software/guile)
-programming interfaces and extensions to the
-[Scheme](http://schemers.org) language.
-
-#### About the GNU Hurd
-
-[The GNU Hurd](https://www.gnu.org/software/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
-info](https://www.gnu.org/software/hurd/hurd/documentation.html).
-
-The [mission of the GNU
-Hurd](https://www.gnu.org/software/hurd/community/weblogs/antrik/hurd-mission-statement.html)
-project is to create a general-purpose kernel suitable for the GNU
-operating system, which is viable for everyday use, and gives users
-and programs as much control over their computing environment as
-possible.