guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: website: Edits to draft post about initial Hurd V


From: Jan Nieuwenhuizen
Subject: branch master updated: website: Edits to draft post about initial Hurd VM.
Date: Mon, 06 Apr 2020 02:07:42 -0400

This is an automated email from the git hooks/post-receive script.

janneke pushed a commit to branch master
in repository guix-artwork.

The following commit(s) were added to refs/heads/master by this push:
     new 9d775ad  website: Edits to draft post about initial Hurd VM.
9d775ad is described below

commit 9d775ad0e46f93e1fac95771b0f694ec7989934a
Author: Jan (janneke) Nieuwenhuizen <address@hidden>
AuthorDate: Mon Apr 6 07:56:00 2020 +0200

    website: Edits to draft post about initial Hurd VM.
    
    * website/drafts/hello-hurd.md (title): Shorter title, fix git url,
    add some background on technical challenges.
---
 website/drafts/hello-hurd.md | 67 +++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 60 insertions(+), 7 deletions(-)

diff --git a/website/drafts/hello-hurd.md b/website/drafts/hello-hurd.md
index af0d98f..50edda7 100644
--- a/website/drafts/hello-hurd.md
+++ b/website/drafts/hello-hurd.md
@@ -1,4 +1,4 @@
-title: Guix builds a `Hello World' VM running the Hurd
+title: A `Hello World' VM running the Hurd
 date: 2020-04-06 09:00
 author: Jan Nieuwenhuizen, Ludovic Courtès
 tags: GNU Hurd
@@ -6,16 +6,39 @@ tags: GNU Hurd
 Hello GNU World!
 
 For all you who tried our April 1st image and ran `guix` we sure hope
-you had a good laugh!
+you had a good laugh.  We set out to build that image using Guix and
+while we made some good progress on Wednesday in the end we decided to
+cheat to make the release deadline.
 
-We wanted to produce that image using Guix but in the end we had to
-cheat to make the release deadline.  Sorry about that.
+What we got stuck on for a while was to get past the ex2fs server
+seemingly freezing on boot, saying:
+
+```
+start ext2fs:
+```
+
+and then nothing...Running the guix-built `ext2fs` on Debian Hurd
+showed us that it was not servicing [this page
+fault](http://git.savannah.gnu.org/cgit/hurd/hurd.git/tree/ext2fs/pager.c#n1146)
+
+
+```C
+  /* Try to read page.  */
+  *(volatile char *) bptr;
+```
+
+We tried a lot of things, even reverting to glibc-2.29 with [all of
+Debian's patches for the
+Hurd](https://salsa.debian.org/glibc-team/glibc/-/tree/glibc-2.29/debian/patches/hurd-i386)
+until Ludovic found that our use of a 64-bit
+[MIG](https://gnu.org/s/mig) was generating incompatible stubs.
 
 Today we have a much more humble gift for you: On the [wip-hurd-vm
-branch](http://git.savannah.gnu.org/cgit/guix.git/tree/?h=wip-hurd-vm) we
-have an [initial
+branch](http://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-hurd-vm)
+we have an [initial
 
hurd.scm](http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/hurd.scm?h=wip-hurd-vm)
-system description that can be used to cross build a VM running the Hurd.
+system description that can be used to cross build a VM running the
+Hurd.
 
 Running
 
@@ -43,6 +66,19 @@ and voilà:
 
 ![Initial Guix VM running the 
Hurd](../../../static/blog/img/guix-hello-hurd.png)
 
+And that's about it right now: No `guix` executable, `herd`, or
+`ssh-daemon` yet.  Also, the current bootstrap goes like this
+
+```
+/hurd/startup -> /libexec/runsystem -> /hurd/init ->
+    /libexec/runsystem.hurd ->
+        /libexec/rc
+        /libexec/runttys -> /libexec/getty
+```
+
+where `runsystem` and `runsystem.hurd` are upstream bash scripts and
+only `rc` is written in Guile right now.
+
 Happy hacking!
 
 #### About GNU Guix
@@ -63,3 +99,20 @@ 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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]