unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#41541: merge wip-hurd-vm
@ 2020-05-26 14:21 Jan Nieuwenhuizen
  2020-05-27 10:01 ` Mathieu Othacehe
  2020-06-04 13:59 ` bug#41541: [PATCH 0/9] Merge wip-hurd-vm "last review round" Jan (janneke) Nieuwenhuizen
  0 siblings, 2 replies; 36+ messages in thread
From: Jan Nieuwenhuizen @ 2020-05-26 14:21 UTC (permalink / raw)
  To: 41541

Hello!

TL; DR: I propose to rebase on master, squash the squash!es, collapse
the Reverts, hard reset and => review+finish the rest, merge!

So...

After about two months in the working, current wip-hurd-vm

    commit 6a284069188f59553f27760614ffb604b49ec62b
    squash! linux-boot: Update 'make-hurd-device-nodes'.

is finally in a state where it supports building a VM image for the Hurd
in three ways.  The April-1st hack^H^H^H^method

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix build -f gnu/system/hurd.scm 
--8<---------------cut here---------------end--------------->8---

  => /gnu/store/f1vzgwgxjacn1rd9cpnmpgbv8c5k3rbx-qemu-image

still produces a bootable VM, but fails during startup; lacking
/boot/activation.  Starting the Shepherd from RC was introduced, which
broke this.  We could spend some effort to resurrect it, but...

It was a fun and amazing feat but I think we should remove it before the
merge.  I don't think we realised how sharp/smart this hack was,
navigating cleanly across and through cross-build and qemu-image bugs.

The next method is by using

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix system vm-image --no-grafts --target=i586-pc-gnu gnu/system/examples/bare-hurd.tmpl
--8<---------------cut here---------------end--------------->8---

  => /gnu/store/8pr6qnwl4b5kria0j0hxscv66izc8zpi-qemu-image

TODO: address the no-grafts (See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41350#71)

This produces a functional VM, including openssh server.  Closures
haven't been registered, though, so adding and starting a guix-daemon
may not do what we want yet.

And lastly the new, preferred method that we finally got working
yesterday

--8<---------------cut here---------------start------------->8---
./pre-inst-env guix system disk-image --no-grafts --target=i586-pc-gnu gnu/system/examples/bare-hurd.tmpl
--8<---------------cut here---------------end--------------->8---

  => /gnu/store/qyq2pj175skkc8kffy5nzfyb47sk3kls-disk-image

It should be trivial to add a guix-daemon and do some real work here.

Mattieu is looking into cleaning up of

--8<---------------cut here---------------start------------->8---
b605a36031 * origin/wip-hurd-vm WIP hurd-directives
--8<---------------cut here---------------end--------------->8---

and we also already had a small brain storming on IRC about

--8<---------------cut here---------------start------------->8---
dd62341283 * bootloader: grub: Add support for '<hurd-menu-entry>'.
ec1dfae81b * system: Add 'hurd' field to <boot-parameters>.
43df8616f6 * bootloader: Add `<hurd-menu-entry>'.
--8<---------------cut here---------------end--------------->8---

I guess that before merging, we will want to rewrite this bit, alongside
these lines, nicely summarized as

--8<---------------cut here---------------start------------->8---
<civodul> so to sum up, the following fields would be added to <menu-entry>:
          kernel, multiboot-modules
<civodul> janneke: it's not GRUB-specific though, in the sense that GRUB
          closely matches the underlying abstractions
<civodul> that is: "multiboot kernel + modules", or "linux + initrd", etc.
<civodul> and yes, <boot-parameters> needs to be extended to reflect these
          addition
--8<---------------cut here---------------end--------------->8---

Greetings,
janneke

PS: I'm starting the VMs like so

    guix environment --ad-hoc qemu -- qemu-system-i386 -enable-kvm -m 512\
     -device rtl8139,netdev=net0 -netdev user,id=net0,hostfwd=tcp:127.0.0.1:10022-:2222\
     -snapshot -hda <the-image>

-- 
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2020-06-06 10:15 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-26 14:21 bug#41541: merge wip-hurd-vm Jan Nieuwenhuizen
2020-05-27 10:01 ` Mathieu Othacehe
2020-05-27 11:11   ` Jan Nieuwenhuizen
2020-05-30 14:40   ` Jan Nieuwenhuizen
2020-06-02  8:48     ` Mathieu Othacehe
2020-06-02  9:24       ` Jan Nieuwenhuizen
2020-06-02 10:16         ` Mathieu Othacehe
2020-06-02 12:23           ` Jan Nieuwenhuizen
2020-06-02 12:40             ` Ludovic Courtès
2020-06-02 13:39               ` Jan Nieuwenhuizen
2020-06-03  9:18                 ` Ludovic Courtès
2020-06-03 15:22                   ` Jan Nieuwenhuizen
2020-06-03 15:38                     ` Mathieu Othacehe
2020-06-03 20:27                       ` Jan Nieuwenhuizen
2020-06-04  9:32                         ` Ludovic Courtès
2020-06-04 11:33                           ` Jan Nieuwenhuizen
2020-06-05 16:08                             ` Ludovic Courtès
2020-06-05 16:24                               ` Jan Nieuwenhuizen
2020-06-04 13:59 ` bug#41541: [PATCH 0/9] Merge wip-hurd-vm "last review round" Jan (janneke) Nieuwenhuizen
2020-06-04 13:59   ` bug#41541: [PATCH 1/8] system: Add 'hurd' field to <operating-system> Jan (janneke) Nieuwenhuizen
2020-06-06  7:21     ` Mathieu Othacehe
2020-06-06  8:26       ` Jan Nieuwenhuizen
2020-06-04 13:59   ` bug#41541: [PATCH 2/8] bootloader: Extend `<menu-entry>' for multiboot Jan (janneke) Nieuwenhuizen
2020-06-04 13:59   ` bug#41541: [PATCH 3/8] system: Add 'multiboot-modules' field to <boot-parameters> Jan (janneke) Nieuwenhuizen
2020-06-06  7:32     ` Mathieu Othacehe
2020-06-06 10:13       ` Jan Nieuwenhuizen
2020-06-04 13:59   ` bug#41541: [PATCH 4/8] bootloader: grub: Add support for multiboot Jan (janneke) Nieuwenhuizen
2020-06-06  7:47     ` Mathieu Othacehe
2020-06-06  8:46       ` Jan Nieuwenhuizen
2020-06-04 13:59   ` bug#41541: [PATCH 5/8] system: Use 'hurd' package in label Jan (janneke) Nieuwenhuizen
2020-06-04 13:59   ` bug#41541: [PATCH 6/8] system: examples: Add bare-hurd.tmpl Jan (janneke) Nieuwenhuizen
2020-06-06  7:56     ` Mathieu Othacehe
2020-06-04 13:59   ` bug#41541: [PATCH 7/8] services: hurd: Add `hurd-etc-service' Jan (janneke) Nieuwenhuizen
2020-06-04 13:59   ` bug#41541: [PATCH 8/8] system: Add `hurd-activation' Jan (janneke) Nieuwenhuizen
2020-06-06  8:03     ` Mathieu Othacehe
2020-06-06  8:54       ` Jan Nieuwenhuizen

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).