> The wip-hurd-vm branch cross-builds a VM for the Hurd. It uses some > dedicated hacks to build the system packages, services, system profile > and shepherd configuration and cross-build them into a qemu image. > > We did this to avoid too much struggle up front with parameterizing, > working around, or removing Linux-specifics from "guix system > --target=i586-pc-gnu build,vm,..."
I have not followed really closely the recent progress on the Hurd, but I think we may need to synchronize at some point :) As you have noticed our image creation is very tied to Linux and Intel x86 compatible machines. I would like in the future that producing images for other architectures/kernels could be less hacky. My idea is to: * Speed up image creation by removing the need to use VM to produce images. * Augment the operating-system record, or provide a new record, that encapsulates information related to image layout (partitions, bootloader location), target architecture (i586-pc-gnu, aarch64-linux, ...). This way, one would just have to run `guix system disk-image my-board.scm' or `guix system disk-image --board=xxx config.scm', and not have to worry about specifying the correct target triplet, kernel and bootloader packages. On the wip-disk-image, I propose the creation of an "image" record in (gnu image), but I'm still not sure how to interface it. Thanks, Mathieu