Subject: Re: bug#40839: Shepherd activation .GO files are not cross-compiled ... and the Hurd

From: Mathieu Othacehe <[email-masked]>
Date: Mon, 27 Apr 2020 14:35:05 +0200

Hello Janneke!

I had a look to (gnu system hurd), this is really nice! I think we could
try an explosive mixture of our two branches :)

More seriously, we could do something like:

--8<---------------cut here---------------start------------->8---
(define hurd-disk-image
  (image
   (format 'disk-image)
   (partitions
    (list
     (partition
      (size 'guess)
      (label "Guix_image")
      (file-system "ext2")
      (flags '(boot))
      (initializer (gexp initialize-hurd-root-partition)))))))
--8<---------------cut here---------------end--------------->8---

then we could have some mapping in guix/scripts/system.scm to
associate:

* x86_64-linux -> efi-disk-image
* i586-pc-gnu -> hurd-disk-image

and one could get a hurd disk-image by typing: 

--8<---------------cut here---------------start------------->8---
guix system disk-image --target=i586-pc-gnu my-hurd-os.scm
--8<---------------cut here---------------end--------------->8---

One problem that can arise is the installation of grub. Currently
wip-disk-image does not support legacy Grub (MBR based)
installation.

This is because running grub-install needs root permissions, to mess with
/dev/something in order to write the MBR I guess.

We could also create a Hurd ISO if grub-mkrescue (that is used to make
the ISO bootable), supports the Hurd.

Adding Ludo that might have some insight here.

Thanks,

Mathieu