Suivant: , Précédent: , Monter: Top   [Table des matières][Index]


14 Bootstrapping

Bootstrapping in our context refers to how the distribution gets built “from nothing”. Remember that the build environment of a derivation contains nothing but its declared inputs (voir Introduction). So there’s an obvious chicken-and-egg problem: how does the first package get built? How does the first compiler get compiled?

It is tempting to think of this question as one that only die-hard hackers may care about. However, while the answer to that question is technical in nature, its implications are wide-ranging. How the distribution is bootstrapped defines the extent to which we, as individuals and as a collective of users and hackers, can trust the software we run. It is a central concern from the standpoint of security and from a user freedom viewpoint.

Le système GNU est surtout fait de code C, avec la libc en son cœur. Le système de construction GNU lui-même suppose la disponibilité d’un shell Bourne et d’outils en ligne de commande fournis par GNU Coreutils, Awk, Findutils, sed et grep. En plus, les programmes de construction — les programmes qui exécutent ./configure, make etc — sont écrits en Guile Scheme (voir Dérivations). En conséquence, pour pouvoir construire quoi que ce soit, de zéro, Guix a besoin de binaire pré-construits de Guile, GCC, Binutils, la libc et des autres paquets mentionnés plus haut — les binaires de bootstrap.

Ces binaires de bootstrap sont pris comme des acquis, bien qu’on puisse les recréer (ça arrive plus tard) si besoin (voir Se préparer à utiliser les binaires de bootstrap).


Suivant: , Précédent: , Monter: Top   [Table des matières][Index]