[Top][All Lists]

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

bootstrap: i686-linux now builds without binutils, gcc, and glibc seeds

From: Jan Nieuwenhuizen
Subject: bootstrap: i686-linux now builds without binutils, gcc, and glibc seeds
Date: Mon, 03 Sep 2018 23:40:05 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

The wip-bootstrap branch now builds without binutils, gcc, and glibc seeds.

Thanks to #bootstrappable and #glibc and a week's work of hammering and
determination we succeeded in bootstrapping glibc-2.16.0.  This glibc is
recent enough to bootstrap GuixSD!

Now we have a prototype bootstrap that needs

        ("i686-linux" `(("linux-libre-headers" ,%bootstrap-linux-libre-headers)
                        ("mescc-tools-seed" ,%mescc-tools-seed)
                        ("mes-seed" ,%mes-seed)
                        ("srfi-43" ,%srfi-43 )
                        ("tinycc-seed" ,%tinycc-seed)))
    ("coreutils&co" ,%bootstrap-coreutils&co)
    ("bash" ,%bootstrap-coreutils&co)))

to build all of Guix i686-linux.

To try it, do something like

     git clone git://
     cd guix
     git checkout -b wip-bootstrap
     guix environment guix

and then, if you're feeling courageous and lucky

     ./pre-inst-env guix build --system=i686-linux hello

or otherwise, you can do as I did

     ./pre-inst-env guix build --system=i686-linux gcc-mesboot
     ./pre-inst-env guix build --system=i686-linux -e '(@@ (gnu packages 
commencement) make-boot0)'
     ./pre-inst-env guix build --system=i686-linux -e '(@@ (gnu packages 
commencement) bintutils-cross-boot0)'
     ./pre-inst-env guix build --system=i686-linux -e '(@@ (gnu packages 
commencement) gcc-cross-boot0)'
     ./pre-inst-env guix build --system=i686-linux -e '(@@ (gnu packages 
commencement) gcc-final)'
     ./pre-inst-env guix build --system=i686-linux -e '(@@ (gnu packages 
commencement) guile-final)'

We need to determine the next steps and we could use some help.  A rough
list of things to be done

    * review the wip-bootstrap branch, merge it
    * make lots of noise!!!
    * replace coreutils&co by bootstrapped packages
    * other architectures: x86_64, arm*, ...
    * replace mes-seed by a full source bootstrapped mes.M2
    * replace Bash with Gash and/or Geesh*)

We're now very close to have Guix x86 be the first GNU/Linux that was
bootstrapped without the use of binary C compiler seed.


*) Gash and Geesh are exciting new projects that have the mostly
   overlapping goal to create a posix/bash compatible shell in Guile.
   Although it may not be the highest priority from a full source
   bootstrap point of view, having a shell in Guile is very exciting and
   would help Guix a lot.  We need to evaluate gash and geesh and
   formulate a strategy.

Jan Nieuwenhuizen <address@hidden> | GNU LilyPond
Freelance IT | AvatarĀ®

reply via email to

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