[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
know.
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{http://bootstrappable.org, Bootstrappable.org 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
- branch master updated (d112e5a -> 8638362), Ludovic Courtès, 2017/12/03
- 04/05: profiles: Avoid _IO* in profile builder., Ludovic Courtès, 2017/12/03
- 02/05: install: Add the prerequisites of 'profile-derivation' as GC roots., Ludovic Courtès, 2017/12/03
- 03/05: doc: Link to work on bootstrapping.,
Ludovic Courtès <=
- 01/05: profiles: Do not import the host's srfi-{19,26}.scm files., Ludovic Courtès, 2017/12/03
- 05/05: install: Add colors in 'motd' and 'issue'., Ludovic Courtès, 2017/12/03