[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; ; ) |
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
- Cross-building GuixSD (and maybe using pre-built toolchains),
Paul Boddie <=