Hello, I've been looking at FSF-endorsed Free Software distributions and found GuixSD, and I have a few questions about bootstrapping the distribution for another architecture.
I was looking at the documentation, which is rather more helpful than most distributions when it comes to describing how the actual distribution archives are built, and I figured a few things out about guix-daemon. However, I'm doing all my work in a chroot - I don't want to "make install" and populate various locations on my main system - and this doesn't seem to be entirely compatible with the recommended way the daemon is used. Specifically, the daemon does not seem to be able to build anything unless I specify the -- disable-chroot flag. Are there any recommended methods of running guix-daemon in a chroot and have it create new chroots, or do I have to use some kind of virtualisation or container technology? Is any kind of fakeroot/fakechroot mechanism supported? One thing that looks very promising is the ability to cross-bootstrap the system, and I did manage to get that started for a new architecture (mipsel) by performing some modifications suggested in the documentation [1], running guix-daemon with the --disable-chroot flag, and then running this: guix build --target=mipsel-linux-gnu bootstrap-tarballs However, not wanting to leave my computer switched on all night, I stopped the build after a while. I can understand the need to bootstrap things like toolchains, but given that I am running Debian which has cross-toolchains for mipsel, I wondered if I could short-circuit this process by employing pre- built toolchains. Would this be possible? Finally, it seems to be the case that the workflow involves building a bootstrapped minimal system and then natively building packages. Or have I misunderstood the process? Is it possible to cross-build all of the packages in the distribution? I hope I haven't missed anything that tells me the answers to all of these questions. Thanks in advance for any answers you may have! Paul [1] https://www.gnu.org/software/guix/manual/html_node/Porting.html#Porting