[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

03/05: doc: Link to work on bootstrapping.

From: Ludovic Courtès
Subject: 03/05: doc: Link to work on bootstrapping.
Date: Sun, 3 Dec 2017 14:23:27 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 350cb5ba84d1f23adfa3bde976fd99f695baf74c
Author: Ludovic Courtès <address@hidden>
Date:   Sun Dec 3 17:31:51 2017 +0100

    doc: Link to work on bootstrapping.
    * doc/guix.texi (Reducing the Set of Bootstrap Binaries): New section.
 doc/guix.texi | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index cad2b86..2b1b89f 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -20302,6 +20302,28 @@ unknown, but if you would like to investigate further 
(and have
 significant computational and storage resources to do so), then let us
address@hidden Reducing the Set of Bootstrap Binaries
+Our bootstrap binaries currently include GCC, Guile, etc.  That's a lot
+of binary code!  Why is that a problem?  It's a problem because these
+big chunks of binary code are practically non-auditable, which makes it
+hard to establish what source code produced them.  Every unauditable
+binary also leaves us vulnerable to compiler backdoors as described by
+Ken Thompson in the 1984 paper @emph{Reflections on Trusting Trust}.
+This is mitigated by the fact that our bootstrap binaries were generated
+from an earlier Guix revision.  Nevertheless it lacks the level of
+transparency that we get in the rest of the package dependency graph,
+where Guix always gives us a source-to-binary mapping.  Thus, our goal
+is to reduce the set of bootstrap binaries to the bare minimum.
+The @uref{, web site} lists
+on-going projects to do that.  One of these is about replacing the
+bootstrap GCC with a sequence of assemblers, interpreters, and compilers
+of increasing complexity, which could be built from source starting from
+a simple and auditable assembler.  Your help is welcome!
 @node Porting
 @section Porting to a New Platform

reply via email to

[Prev in Thread] Current Thread [Next in Thread]