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


3.1 The Mes Bootstrap Process

The Reduced Binary Seed bootstrap currently adopted by Guix13. In its intiial form it is only available for x86-linux and armhf-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
                                ^
                                |
                                *
                     gash-boot, gash-utils-boot
                                ^
                                |
                                *
               bootstrap-mescc-tools, bootstrap-mes (~12 MiB)
                         bootstrap-guile (~48 MiB)

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

Reference graph of the gcc-core-mesboot0

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, this additional non-bootstrapped dependencies (i.e., binary seeds) are taken for granted

bootstrap-guile

Our next priority is to eleminate these one by one.


Footnotes

(13)

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