[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Cross-building GuixSD (and maybe using pre-built toolchains)

From: Paul Boddie
Subject: Cross-building GuixSD (and maybe using pre-built toolchains)
Date: Sun, 3 Jul 2016 16:51:27 +0200
User-agent: KMail/1.13.7 (Linux/3.2.0-4-486; KDE/4.8.4; i686; ; )


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 

Thanks in advance for any answers you may have!



reply via email to

[Prev in Thread] Current Thread [Next in Thread]