all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Sergey Bugaev <bugaevc@gmail.com>
To: Joshua Branson <jbranso@dismail.de>
Cc: "Dr. Arne Babenhauserheide" <arne_bab@web.de>,
	Nathan Dehnel <ncdehnel@gmail.com>,
	bug-hurd@gnu.org,  matt@excalamus.com,
	liberamenso10000@gmail.com, guix-devel@gnu.org
Subject: Re: Come watch a live stream coding session for the Hurd Video
Date: Sun, 2 Jun 2024 19:50:15 +0300	[thread overview]
Message-ID: <CAN9u=Hfcqgf67Q3Ky2Q=ciHBVjUm5Tz4_F6g2kZGgCTg8Ut9gg@mail.gmail.com> (raw)
In-Reply-To: <8734pw9x4r.fsf_-_@dismail.de>

On Sun, Jun 2, 2024 at 12:22 AM Joshua Branson <jbranso@dismail.de> wrote:
> So we had an awesome time today watching Sergey code a trivial translator (1) and do
> some glibc hacking (2).  Sergey coded and chatted for 4 and 1/2 hours!  Three cheers
> for that kind of commitment!  Thanks pal!
>
> In the livestream today, Sergey wrote caesar.c, which implements a simple caeser
> cipher. It's a toy. A caesar cipher is EASY to break, but it was fun watching
> him code it out!

Hi all,

thanks for attending, and thanks Joshua for organizing it!

Let's do this again sometime? -- hopefully with less technical issues
related to recording/audio/video. I've got plenty of exciting ideas of
things to do. There are projects I started but haven't completed, like
the new bootstrap process (that Josh keeps calling "serverboot v2") or
the new in-tree, Hurd-native libfuse (which is an full translator
framework in its own right, a peer to libdiskfs/libnetfs/libtrivfs,
but mostly API-compatible with the Linux libfuse), or epoll/Wayland
(which is mostly complete, but it needs to be updated / cleaned up,
and published). Or, we could get started on writing that shiny new
translator framework in Rust :)

We ended the stream on a somewhat of a cliffhanger: can we run
caesarfs (see, Joshua misspelled it too, so it's not just me!) on the
aarch64-gnu system? The process was getting created, but then it
crashed before it got a chance to handshake with its parent translator
(root ext2fs), and thus fake-console-run.c was getting EDIED trying to
open the file. Turns out, we need to explicitly null-terminate the
last argv entry too when setting a static translator record from my
GNU/Linux host, so instead of
$ sudo setfattr -n gnu.translator -v
'/hurd/caesar\000/libexec/hello-world.txt'
/mnt/libexec/hello-world.txt.csr
I should have done
$ sudo setfattr -n gnu.translator -v
'/hurd/caesar\000/libexec/hello-world.txt\000'
/mnt/libexec/hello-world.txt.csr

It was crashing inside ld-arrach64.so.1 trying to parse its argv,
since it expected them to be in the argz format, so null-terminated.
(Did I mention how incredibly useful being able to backtrace through
syscall/fault/interrupt boundaries is for debugging?)

With that fixed (no changes to the translator itself, but the
translator record changed as shown above), I do get:

GNU Mach 1.8
Kernel command line: foo=bar
Booting in EL1
vm_page: page table size: 262144 entries (20480k)
vm_page: DMA: pages: 262144 (1024M), free: 221873 (866M)
vm_page: DMA: min:13107 low:15728 high:26214
Model name: linux dummy-virt
module 0: rootfs $(rootfs-device=ramdisk-create)
rd0: 36700160 bytes @ffff000083424000
module 1: ld-aarch64.so.1 /hurd/exec $(exec-task=task-create)
module 2: ext2fs --host-priv-port=${host-port}
--device-master-port=${device-port} --exec-server-task=${exec-task}
--multiboot-command-line=${kernel-command-line} -T device
${rootfs-device} $(task-create) $(task-resume)
3 bootstrap modules
task loaded: ld-aarch64.so.1 /hurd/exec
task loaded: ext2fs --host-priv-port=1 --device-master-port=2
--exec-server-task=3 --multiboot-command-line=foo=bar -T device rd0

start ext2fs: Hello world!
fread () -> 5
Uryyb

"Uryyb" is of course "Hello" with ROT13 applied :) So we were very close.

Sergey


  parent reply	other threads:[~2024-06-03  4:43 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAEEhgEvXkQWsnRK4pksG5XdEVehww4qOY69Ct3vBk=umSJUxeQ@mail.gmail.com>
     [not found] ` <8734pxp5nj.fsf@web.de>
2024-06-01 21:22   ` Come watch a live stream coding session for the Hurd Video Joshua Branson
2024-06-01 21:29     ` Almudena Garcia
2024-06-02 20:14       ` jbranso
2024-06-02 16:50     ` Sergey Bugaev [this message]
2024-06-02 20:36       ` jbranso

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAN9u=Hfcqgf67Q3Ky2Q=ciHBVjUm5Tz4_F6g2kZGgCTg8Ut9gg@mail.gmail.com' \
    --to=bugaevc@gmail.com \
    --cc=arne_bab@web.de \
    --cc=bug-hurd@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=jbranso@dismail.de \
    --cc=liberamenso10000@gmail.com \
    --cc=matt@excalamus.com \
    --cc=ncdehnel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.