Next: , Previous: , Up: Bootstrapping   [Contents][Index]


3.1 The Mes Bootstrap Process

The Reduced Binary Seed bootstrap currently adopted by Guix11. In its intiial form it is only available for x86-linux.

Currently, it goes like this:

                         gcc-mesboot (4.9.4)
                                ^
                                |
                        glibc-mesboot (2.16.0)
                                ^
                                |
                         gcc-mesboot1 (4.7.4)
                                ^
                                |
                        binutils-mesboot (2.20.1a)
                                ^
                                |
                         gcc-mesboot0 (2.95.3)
                                ^
                                |
                         glibc-mesboot0 (2.2.5)
                                ^
                                |
                        gcc-core-mesboot (2.95.3)
                                ^
                                |
    make-mesboot0, diffutils-mesboot, binutils-mesboot0 (2.20.1a)
                                ^
                                |
                            tcc-boot
                                ^
                                |
                            tcc-boot0
                                ^
                                |
                            mes-boot
                                ^
                                |
                                *
              bootstrap-mescc-tools, bootstrap-mes (~10MB)
      bootstrap-bash, bootstrap-coreutils&co, bootstrap-guile (~120MB)

Here’s a generated dependency diagram to for the final bootstrap gcc that builds the rest of Guix.

Reference graph of the gcc-mesboot

Work is ongoing to remove these binary seeds that were intentionally injected by our own doing as temporary shortcut

bootstrap-mescc-tools (seed), bootstrap-mes (seed)

For now, these additional non-bootstrapped dependencies (i.e., binary seeds) are taken for granted

bootstrap-guile, bash, bzip2, coreutils, gawk, grep, gzip, patch, sed,
tar, xz

Although we think these are less essential and thus less interesting than the GNU toolchain triplet that we focussed on initially, our next priority is to eleminate these one by one.


Footnotes

(11)

See gnu/packages/commencement.scm in the master branch in Guix git http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/commencement.scm