[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41541: merge wip-hurd-vm
From: |
Jan Nieuwenhuizen |
Subject: |
bug#41541: merge wip-hurd-vm |
Date: |
Tue, 26 May 2020 16:21:16 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
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 <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | AvatarĀ® http://AvatarAcademy.com
- bug#41541: merge wip-hurd-vm,
Jan Nieuwenhuizen <=