diff options
| author | Ludovic Courtès <ludo@gnu.org> | 2017-12-03 17:31:51 +0100 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2017-12-03 19:12:16 +0100 |
| commit | 350cb5ba84d1f23adfa3bde976fd99f695baf74c (patch) | |
| tree | d4abcddedbcff1a128ec5195ad9f764a85b63567 | |
| parent | af4a761e97c309e3dce8ddf0cbbc1a369573199a (diff) | |
doc: Link to work on bootstrapping.
* doc/guix.texi (Reducing the Set of Bootstrap Binaries): New section.
| -rw-r--r-- | doc/guix.texi | 22 |
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 | |||
| 20302 | significant computational and storage resources to do so), then let us | 20302 | significant computational and storage resources to do so), then let us |
| 20303 | know. | 20303 | know. |
| 20304 | 20304 | ||
| 20305 | @unnumberedsubsec Reducing the Set of Bootstrap Binaries | ||
| 20306 | |||
| 20307 | Our bootstrap binaries currently include GCC, Guile, etc. That's a lot | ||
| 20308 | of binary code! Why is that a problem? It's a problem because these | ||
| 20309 | big chunks of binary code are practically non-auditable, which makes it | ||
| 20310 | hard to establish what source code produced them. Every unauditable | ||
| 20311 | binary also leaves us vulnerable to compiler backdoors as described by | ||
| 20312 | Ken Thompson in the 1984 paper @emph{Reflections on Trusting Trust}. | ||
| 20313 | |||
| 20314 | This is mitigated by the fact that our bootstrap binaries were generated | ||
| 20315 | from an earlier Guix revision. Nevertheless it lacks the level of | ||
| 20316 | transparency that we get in the rest of the package dependency graph, | ||
| 20317 | where Guix always gives us a source-to-binary mapping. Thus, our goal | ||
| 20318 | is to reduce the set of bootstrap binaries to the bare minimum. | ||
| 20319 | |||
| 20320 | The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists | ||
| 20321 | on-going projects to do that. One of these is about replacing the | ||
| 20322 | bootstrap GCC with a sequence of assemblers, interpreters, and compilers | ||
| 20323 | of increasing complexity, which could be built from source starting from | ||
| 20324 | a 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 | ||
