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 <jann...@gnu.org> | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com