summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2017-12-03 17:31:51 +0100
committerLudovic Courtès <ludo@gnu.org>2017-12-03 19:12:16 +0100
commit350cb5ba84d1f23adfa3bde976fd99f695baf74c (patch)
treed4abcddedbcff1a128ec5195ad9f764a85b63567
parentaf4a761e97c309e3dce8ddf0cbbc1a369573199a (diff)
doc: Link to work on bootstrapping.
* doc/guix.texi (Reducing the Set of Bootstrap Binaries): New section.
-rw-r--r--doc/guix.texi22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index cad2b86e76f..2b1b89fbea4 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -20302,6 +20302,28 @@ unknown, but if you would like to investigate further (and have
20302significant computational and storage resources to do so), then let us 20302significant computational and storage resources to do so), then let us
20303know. 20303know.
20304 20304
20305@unnumberedsubsec Reducing the Set of Bootstrap Binaries
20306
20307Our bootstrap binaries currently include GCC, Guile, etc. That's a lot
20308of binary code! Why is that a problem? It's a problem because these
20309big chunks of binary code are practically non-auditable, which makes it
20310hard to establish what source code produced them. Every unauditable
20311binary also leaves us vulnerable to compiler backdoors as described by
20312Ken Thompson in the 1984 paper @emph{Reflections on Trusting Trust}.
20313
20314This is mitigated by the fact that our bootstrap binaries were generated
20315from an earlier Guix revision. Nevertheless it lacks the level of
20316transparency that we get in the rest of the package dependency graph,
20317where Guix always gives us a source-to-binary mapping. Thus, our goal
20318is to reduce the set of bootstrap binaries to the bare minimum.
20319
20320The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists
20321on-going projects to do that. One of these is about replacing the
20322bootstrap GCC with a sequence of assemblers, interpreters, and compilers
20323of increasing complexity, which could be built from source starting from
20324a simple and auditable assembler. Your help is welcome!
20325
20326
20305@node Porting 20327@node Porting
20306@section Porting to a New Platform 20328@section Porting to a New Platform
20307 20329