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


3.1 The Mes Bootstrap Process

The Full Source Bootstrap currently adopted by Guix13. In its intiial form it is only available for x86-linux.

Currently, it goes like this:

                         gcc-mesboot (4.9.4)
                                ^
                                |
                              (...)
                                ^
                                |
         binutils-mesboot (2.20.1a), glibc-mesboot (2.2.5),
                    gcc-core-mesboot (2.95.3)
                                ^
                                |
                       patch-mesboot (2.5.9)
                                ^
                                |
                 bootstrappable-tcc (0.9.26+31 patches)
                                ^
                                |
                      gnu-make-mesboot0 (3.80)
                                ^
                                |
                        gzip-mesboot (1.2.4)
                                ^
                                |
                         tcc-boot (0.9.27)
                                ^
                                |
                           mes-boot (0.24.2)
                                ^
                                |
                   stage0-posix (hex0..M2-Planet)
                                ^
                                |
                    gash-boot, gash-utils-boot
                                ^
                                |
                                *
               bootstrap-seeds (357-bytes for x86)
                               ~~~
             [bootstrap-guile-2.0.9 driver (~25 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

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

bootstrap-guile

Our next priority is to eleminate the dependency on bootstrap-guile for Gash and Gash-Utils, and thus for Mes.


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