[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Update on distro bootstrapping with Guix
From: |
Ludovic Courtès |
Subject: |
Update on distro bootstrapping with Guix |
Date: |
Fri, 05 Oct 2012 18:05:00 +0200 |
User-agent: |
Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.2 (gnu/linux) |
Hello!
The Guix-based distro [0,1] now has a bootstrapped “standard
environment” [2], similar to ‘stdenvLinux’ in Nixpkgs. The initial set
of binaries is still taken from Nixpkgs, though (IOW, there’s no
equivalent to ‘make-bootstrap-tools.nix’ yet.)
The distro uses Glibc 2.16.0 and GCC 4.7.2. Bootstrapping is different
From that of ‘stdenvLinux’, and was inspired by Linux From Scratch:
• first, a cross toolchain for the current system is built;
• it is then used to “cross-build” the final glibc; that libc is
guaranteed to not hold any reference to the initial toolchain;
• then the final, native Binutils and GCC are natively built, using
the cross toolchain disguised as a native toolchain (see
‘gcc-boot0-wrapped’ in ‘base.scm’);
• finally, an ‘ld’ wrapper [3] similar to that of Nixpkgs is built on
top of the final Binutils (attempts to avoid it entirely failed.)
There’s no GCC wrapper. Instead, GCC’s default spec strings are
modified to match our file system layout.
GMP/MPFR/MPC as built as part of the GCC build process, instead of being
built separately, which is an appreciable simplification.
Another difference from Nixpkgs is that the initial set of bootstrap
tools is reduced: GNU Make, Findutils, and Diffutils are lacking, and
get built early. Conversely, Guile 2.0 is part of that initial set,
since it is used to run build scripts.
Now the next step will be to build the bootstrap binaries with Guix.
If you want to hack on a distro not as mainstream as NixOS, your help is
welcome! :-)
Thanks,
Ludo’.
[0] https://gitorious.org/guix
[1] http://lists.gnu.org/archive/html/gnu-system-discuss/2012-07/msg00000.html
[2] https://gitorious.org/guix/guix/blobs/master/distro/packages/base.scm
See under “Bootstrap packages.”
[3] https://gitorious.org/guix/guix/blobs/master/distro/packages/ld-wrapper.scm
pgp1qX6onegor.pgp
Description: PGP signature
_______________________________________________
nix-dev mailing list
address@hidden
http://lists.science.uu.nl/mailman/listinfo/nix-dev