guix-commits
[Top][All Lists]
Advanced

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

02/09: doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping'.


From: Jan Nieuwenhuizen
Subject: 02/09: doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping'.
Date: Tue, 23 Oct 2018 17:00:33 -0400 (EDT)

janneke pushed a commit to branch core-updates-next
in repository guix.

commit e065823a593c337f17af3f4ba7341d458be7bdf3
Author: Jan Nieuwenhuizen <address@hidden>
Date:   Mon Oct 8 18:07:42 2018 +0200

    doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping'.
    
    * doc/guix.texi (Reduced Binary Seed Bootstrap):
---
 doc/guix.texi | 141 ++++++++++++++++++++++++++++++----------------------------
 1 file changed, 72 insertions(+), 69 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 4461f8b..d77788c 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -211,7 +211,6 @@ GNU Distribution
 * Package Modules::             Packages from the programmer's viewpoint.
 * Packaging Guidelines::        Growing the distribution.
 * Bootstrapping::               GNU/Linux built from scratch.
-* Reduced Binary Seed Bootstrap::  A Bootstrap worthy of GNU.
 * Porting::                     Targeting another platform or kernel.
 
 System Installation
@@ -8825,7 +8824,6 @@ For information on porting to other architectures or 
kernels,
 * Package Modules::             Packages from the programmer's viewpoint.
 * Packaging Guidelines::        Growing the distribution.
 * Bootstrapping::               GNU/Linux built from scratch.
-* Reduced Binary Seed Bootstrap::  A Bootstrap worthy of GNU.
 * Porting::                     Targeting another platform or kernel.
 @end menu
 
@@ -23905,7 +23903,78 @@ re-create them if needed (more on that later).
 For @code{i686-linux} and @code{x86_64-linux} the Guix bootstrap process is
 more elaborate, @pxref{Reduced Binary Seed Bootstrap}.
 
address@hidden Preparing to Use the Bootstrap Binaries
address@hidden
+* Reduced Binary Seed Bootstrap::  A Bootstrap worthy of GNU.
+* Preparing to Use the Bootstrap Binaries:: Building that what matters most.
address@hidden menu
+
address@hidden Reduced Binary Seed Bootstrap
address@hidden The Reduced Binary Seed Bootstrap
+
+Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
+a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU
+Coreutils, Awk, Findutils, `sed', and `grep' and Guile, GCC, Binutils, and the
+GNU C Library (@pxref{Bootstrapping}).  Usually, these bootstrap binaries are
+``taken for granted.''
+
+Taking these binaries for granted means that we consider them to be a correct
+and trustworthy `seed' for building the complete system.  Therein lies a
+problem: the current combined size of these bootstrap binaries is about 250MB
+(@pxref{Bootstrappable Builds,,, mes, Mes Reference Manual}).  Auditing or
+even inspecting these is next to impossible.
+
+For @code{i686-linux} and @code{x86_64-linux}, Guix now features a ``Reduced
+Binary Seed'' bootstrap @footnote{We would like to say: ``Full Source
+Bootstrap'' and while we are working towards that goal it would be hyperbole
+to use that term for what we do now.}.
+
+The Reduced Binary Seed bootstrap removes the most critical tools---from a
+trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
+Library are replaced by: @code{mescc-tools-seed} (a tiny assembler and linker)
address@hidden (a small Scheme Interpreter and a C compiler writen in Scheme)
+and @code{tinycc-seed} (the Mes C Library, built for TinyCC).  Using these new
+binary seeds and a new set of
address@hidden
address@hidden@c
+mescc-tools-boot,
+nyacc-boot,
+mes-boot,
+tcc-boot0,
+tcc-boot,
+make-mesboot0,
+diffutils-mesboot,
+binutils-mesboot0,
+gcc-core-mesboot,
+mesboot-headers,
+glibc-mesboot0,
+gcc-mesboot0,
+binutils-mesboot,
+make-mesboot,
+gcc-mesboot1,
+gcc-mesboot1-wrapper,
+glibc-headers-mesboot,
+glibc-mesboot,
+gcc-mesboot,
+and
+gcc-mesboot-wrapper.
+}
address@hidden
+the ``missing'' Binutils, GCC, and the GNU C Library are built from source.
+From here on the more traditional bootstrap process resumes.  This approach
+has reduced the bootstrap binaries in size to about 130MB.  Work is ongoing to
+reduce this further.  If you are interested, join us on @code{#bootstrappable}
+on the Freenode IRC network.
+
address@hidden ./pre-inst-env guix graph --type=bag -e '(begin (use-modules 
(guix packages)) (%current-system "i686-linux") (@@ (gnu packages commencement) 
gcc-mesboot))' > doc/images/gcc-mesboot-bag-graph.dot
address@hidden dot -T png doc/images/gcc-mesboot-bag-graph.dot > 
doc/images/gcc-mesboot-bag-graph.png
+
+Below is the generated dependency graph for @code{gcc-mesboot}, the bootstrap
+compiler used to build the rest of GuixSD.
+
address@hidden/gcc-mesboot-bag-graph,6in,,Dependency graph of the gcc-mesboot}
+
address@hidden Preparing to Use the Bootstrap Binaries
address@hidden Preparing to Use the Bootstrap Binaries
 
 @c As of Emacs 24.3, Info-mode displays the image, but since it's a
 @c large image, it's hard to scroll.  Oh well.
@@ -24058,72 +24127,6 @@ 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!
 
address@hidden Reduced Binary Seed Bootstrap
address@hidden The Reduced Binary Seed Bootstrap
-
-Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
-a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU
-Coreutils, Awk, Findutils, `sed', and `grep' and Guile, GCC, Binutils, and the
-GNU C Library (@pxref{Bootstrapping}).  Usually, these bootstrap binaries are
-``taken for granted.''
-
-Taking these binaries for granted means that we consider them to be a correct
-and trustworthy `seed' for building the complete system.  Therein lies a
-problem: the current combined size of these bootstrap binaries is about 250MB
-(@pxref{Bootstrappable Builds,,, mes, Mes Reference Manual}).  Auditing or
-even inspecting these is next to impossible.
-
-For @code{i686-linux} and @code{x86_64-linux}, Guix now features a ``Reduced
-Binary Seed'' bootstrap @footnote{We would like to say: ``Full Source
-Bootstrap'' and while we are working towards that goal it would be hyperbole
-to use that term for what we do now.}.
-
-The Reduced Binary Seed bootstrap removes the most critical tools---from a
-trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
-Library are replaced by: @code{mescc-tools-seed} (a tiny assembler and linker)
address@hidden (a small Scheme Interpreter and a C compiler writen in Scheme)
-and @code{tinycc-seed} (the Mes C Library, built for TinyCC).  Using these new
-binary seeds and a new set of
address@hidden
address@hidden@c
-mescc-tools-boot,
-nyacc-boot,
-mes-boot,
-tcc-boot0,
-tcc-boot,
-make-mesboot0,
-diffutils-mesboot,
-binutils-mesboot0,
-gcc-core-mesboot,
-mesboot-headers,
-glibc-mesboot0,
-gcc-mesboot0,
-binutils-mesboot,
-make-mesboot,
-gcc-mesboot1,
-gcc-mesboot1-wrapper,
-glibc-headers-mesboot,
-glibc-mesboot,
-gcc-mesboot,
-and
-gcc-mesboot-wrapper.
-}
address@hidden
-the ``missing'' Binutils, GCC, and the GNU C Library are built from source.
-From here on the more traditional bootstrap process resumes.  This approach
-has reduced the bootstrap binaries in size to about 130MB.  Work is ongoing to
-reduce this further.  If you are interested, join us on @code{#bootstrappable}
-on the Freenode IRC network.
-
address@hidden ./pre-inst-env guix graph --type=bag -e '(begin (use-modules 
(guix packages)) (%current-system "i686-linux") (@@ (gnu packages commencement) 
gcc-mesboot))' > doc/images/gcc-mesboot-bag-graph.dot
address@hidden dot -T png doc/images/gcc-mesboot-bag-graph.dot > 
doc/images/gcc-mesboot-bag-graph.png
-
-Below is the generated dependency graph for @code{gcc-mesboot}, the bootstrap
-compiler used to build the rest of GuixSD.
-
address@hidden/gcc-mesboot-bag-graph,6in,,Dependency graph of the gcc-mesboot}
-
-
 @node Porting
 @section Porting to a New Platform
 



reply via email to

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