summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorJan Nieuwenhuizen <janneke@gnu.org>2018-09-17 18:48:19 +0200
committerJan Nieuwenhuizen <janneke@gnu.org>2018-09-23 09:46:26 +0200
commita243722c5b8d50b4f0e3f9717ca71aa43dfc56a3 (patch)
tree2a89c506338488f81115a27e80b2f02d5308115c /doc
parentd536c39e5490ab2a8d41e594f33483ee2946e610 (diff)
doc: Describe the Reduced Binary Seed bootstrap.
* doc/guix.texi (Reduced Binary Seed Bootstrap): New node. * doc/images/gcc-mesboot-bag-graph.dot: New file. * doc/local.mk (DOT_FILES): Add it.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi70
-rw-r--r--doc/images/gcc-mesboot-bag-graph.dot124
-rw-r--r--doc/local.mk1
3 files changed, 195 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index b925485be50..55c1ac31025 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -210,6 +210,7 @@ GNU Distribution
210* Package Modules:: Packages from the programmer's viewpoint. 210* Package Modules:: Packages from the programmer's viewpoint.
211* Packaging Guidelines:: Growing the distribution. 211* Packaging Guidelines:: Growing the distribution.
212* Bootstrapping:: GNU/Linux built from scratch. 212* Bootstrapping:: GNU/Linux built from scratch.
213* Reduced Binary Seed Bootstrap:: A Bootstrap worthy of GNU.
213* Porting:: Targeting another platform or kernel. 214* Porting:: Targeting another platform or kernel.
214 215
215System Installation 216System Installation
@@ -8694,6 +8695,7 @@ For information on porting to other architectures or kernels,
8694* Package Modules:: Packages from the programmer's viewpoint. 8695* Package Modules:: Packages from the programmer's viewpoint.
8695* Packaging Guidelines:: Growing the distribution. 8696* Packaging Guidelines:: Growing the distribution.
8696* Bootstrapping:: GNU/Linux built from scratch. 8697* Bootstrapping:: GNU/Linux built from scratch.
8698* Reduced Binary Seed Bootstrap:: A Bootstrap worthy of GNU.
8697* Porting:: Targeting another platform or kernel. 8699* Porting:: Targeting another platform or kernel.
8698@end menu 8700@end menu
8699 8701
@@ -23552,6 +23554,9 @@ Binutils, libc, and the other packages mentioned above---the
23552These bootstrap binaries are ``taken for granted'', though we can also 23554These bootstrap binaries are ``taken for granted'', though we can also
23553re-create them if needed (more on that later). 23555re-create them if needed (more on that later).
23554 23556
23557For @code{i686-linux} the Guix bootstrap process is more elaborate,
23558@pxref{Reduced Binary Seed Bootstrap}.
23559
23555@unnumberedsubsec Preparing to Use the Bootstrap Binaries 23560@unnumberedsubsec Preparing to Use the Bootstrap Binaries
23556 23561
23557@c As of Emacs 24.3, Info-mode displays the image, but since it's a 23562@c As of Emacs 24.3, Info-mode displays the image, but since it's a
@@ -23705,6 +23710,71 @@ bootstrap GCC with a sequence of assemblers, interpreters, and compilers
23705of increasing complexity, which could be built from source starting from 23710of increasing complexity, which could be built from source starting from
23706a simple and auditable assembler. Your help is welcome! 23711a simple and auditable assembler. Your help is welcome!
23707 23712
23713@node Reduced Binary Seed Bootstrap
23714@section The Reduced Binary Seed Bootstrap
23715
23716Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
23717a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU
23718Coreutils, Awk, Findutils, `sed', and `grep' and Guile, GCC, Binutils, and the
23719GNU C Library (@pxref{Bootstrapping}). Usually, these bootstrap binaries are
23720``taken for granted.''
23721
23722Taking these binaries for granted means that we consider them to be a correct
23723and trustworthy `seed' for building the complete system. Therein lies a
23724problem: the current combined size of these bootstrap binaries is about 250MB
23725(@pxref{Bootstrappable Builds,,, mes, Mes Reference Manual}). Auditing or
23726even inspecting these is next to impossible.
23727
23728For @code{i686-linux}, Guix now features a ``Reduced Binary Seed'' bootstrap
23729@footnote{We would like to say: ``Full Source Bootstrap'' and while we are
23730working towards that goal it would be hyperbole to use that term for what we
23731do now.}.
23732
23733The Reduced Binary Seed bootstrap removes the most critical tools---from a
23734trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
23735Library are replaced by: @code{mescc-tools-seed} (a tiny assembler and linker)
23736@code{mes-seed} (a small Scheme Interpreter and a C compiler writen in Scheme)
23737and @code{tinycc-seed} (the Mes C Library, built for TinyCC). Using these new
23738binary seeds and a new set of
23739@c
23740packages@footnote{@c
23741mescc-tools-boot,
23742nyacc-boot,
23743mes-boot,
23744tcc-boot0,
23745tcc-boot,
23746make-mesboot0,
23747diffutils-mesboot,
23748binutils-mesboot0,
23749gcc-core-mesboot,
23750mesboot-headers,
23751glibc-mesboot0,
23752gcc-mesboot0,
23753binutils-mesboot,
23754make-mesboot,
23755gcc-mesboot1,
23756gcc-mesboot1-wrapper,
23757glibc-headers-mesboot,
23758glibc-mesboot,
23759gcc-mesboot,
23760and
23761gcc-mesboot-wrapper.
23762}
23763@c
23764the ``missing'' Binutils, GCC, and the GNU C Library are built from source.
23765From here on the more traditional bootstrap process resumes. This approach
23766has reduced the bootstrap binaries in size to about 130MB. Work is ongoing to
23767reduce this further. If you are interested, join us on @code{#bootstrappable}
23768on the Freenode IRC network.
23769
23770@c ./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
23771@c dot -T png doc/images/gcc-mesboot-bag-graph.dot > doc/images/gcc-mesboot-bag-graph.png
23772
23773Below is the generated dependency graph for @code{gcc-mesboot}, the bootstrap
23774compiler used to build the rest of GuixSD.
23775
23776@image{images/gcc-mesboot-bag-graph,6in,,Dependency graph of the gcc-mesboot}
23777
23708 23778
23709@node Porting 23779@node Porting
23710@section Porting to a New Platform 23780@section Porting to a New Platform
diff --git a/doc/images/gcc-mesboot-bag-graph.dot b/doc/images/gcc-mesboot-bag-graph.dot
new file mode 100644
index 00000000000..b8c1dc6ad1f
--- /dev/null
+++ b/doc/images/gcc-mesboot-bag-graph.dot
@@ -0,0 +1,124 @@
1digraph "Guix bag" {
2 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
3 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [color = cyan3];
4 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" [color = cyan3];
5 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [color = cyan3];
6 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" [color = cyan3];
7 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = cyan3];
8 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = cyan3];
9 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = cyan3];
10 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
11 "/gnu/store/kp05qzqscbbq070h42saa7v2814fym56-gcc-mesboot-4.9.4.drv" -> "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [color = cyan3];
12 "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
13 "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
14 "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
15 "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" [color = darkseagreen];
16 "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkseagreen];
17 "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkseagreen];
18 "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = darkseagreen];
19 "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
20 "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = darkseagreen];
21 "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
22 "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [color = blue];
23 "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
24 "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
25 "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = blue];
26 "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = blue];
27 "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
28 "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" -> "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" [color = blue];
29 "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" -> "/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" [color = blue];
30 "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
31 "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" [label = "mes-boot@0.17.1", shape = box, fontname = Helvetica];
32 "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" -> "/gnu/store/351v0qka337idkx47agnbxb7f741ywhv-mescc-tools-boot-0.4-1.f02b8f4.drv" [color = darkgoldenrod];
33 "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkgoldenrod];
34 "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" -> "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [color = darkgoldenrod];
35 "/gnu/store/351v0qka337idkx47agnbxb7f741ywhv-mescc-tools-boot-0.4-1.f02b8f4.drv" [label = "mescc-tools-boot@0.4-1.f02b8f4", shape = box, fontname = Helvetica];
36 "/gnu/store/351v0qka337idkx47agnbxb7f741ywhv-mescc-tools-boot-0.4-1.f02b8f4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = dimgrey];
37 "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
38 "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [label = "guile-bootstrap@2.0", shape = box, fontname = Helvetica];
39 "/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" [label = "tcc-boot0@0.9.26-2.b7aa906", shape = box, fontname = Helvetica];
40 "/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" [color = peachpuff4];
41 "/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/351v0qka337idkx47agnbxb7f741ywhv-mescc-tools-boot-0.4-1.f02b8f4.drv" [color = peachpuff4];
42 "/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = peachpuff4];
43 "/gnu/store/wgcwpbgcx6rc6qkzap8r1jmm1lqd94xn-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [color = peachpuff4];
44 "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
45 "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/6jim8kmyfzqh4k6klsln723na6f8mny8-mes-boot-0.17.1.drv" [color = red];
46 "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [color = red];
47 "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
48 "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
49 "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = red];
50 "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
51 "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" -> "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [color = darkviolet];
52 "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
53 "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
54 "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
55 "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = darkviolet];
56 "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" [color = darkviolet];
57 "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
58 "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
59 "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = darkviolet];
60 "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" [color = darkviolet];
61 "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = darkviolet];
62 "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
63 "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = blue];
64 "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/mxph96gajplchgml487c17x9mqp22zci-tcc-boot-0.9.27.drv" [color = blue];
65 "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
66 "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = blue];
67 "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = blue];
68 "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = blue];
69 "/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" [label = "mesboot-headers@0.17.1", shape = box, fontname = Helvetica];
70 "/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = cyan3];
71 "/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
72 "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
73 "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
74 "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = red];
75 "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/98vyp5jvzwimxqz55kqb6qh6slzixrys-gcc-core-mesboot-2.95.3.drv" [color = red];
76 "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = red];
77 "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
78 "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
79 "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = red];
80 "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = red];
81 "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = red];
82 "/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
83 "/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = cyan3];
84 "/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" [color = cyan3];
85 "/gnu/store/m714lzfw5f1nlbj8p9igigpawrjklzc5-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [color = cyan3];
86 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
87 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
88 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
89 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" [color = darkseagreen];
90 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [color = darkseagreen];
91 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkseagreen];
92 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkseagreen];
93 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = darkseagreen];
94 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
95 "/gnu/store/idk50v7k1n62f6zwr4v174c8svnaskmc-glibc-mesboot-2.16.0.drv" -> "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [color = darkseagreen];
96 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
97 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [color = red];
98 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = red];
99 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [color = red];
100 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/mfs8zc6658csv4i51qpb443di9mwbhs6-mesboot-headers-0.17.1.drv" [color = red];
101 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
102 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = red];
103 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = red];
104 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = red];
105 "/gnu/store/172h59jyafvvn9m7ia5kp04xyy962cpd-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [color = red];
106 "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
107 "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/pn2330dk3mi0bzih60d4nd9k1q1bbhp3-binutils-mesboot-2.20.1a.drv" [color = peachpuff4];
108 "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" [color = peachpuff4];
109 "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = peachpuff4];
110 "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = peachpuff4];
111 "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = peachpuff4];
112 "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/ysbncdfxdgb8n9f1d1xaadkzlpyrri5r-diffutils-mesboot-2.7.drv" [color = peachpuff4];
113 "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = peachpuff4];
114 "/gnu/store/y3axw4m9rh9a4z34mjxy7cn9gqsml3l9-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [color = peachpuff4];
115 "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
116 "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/d9ik7gv1iqmcrpg8iw49195wzr2yhxam-binutils-mesboot0-2.20.1a.drv" [color = darkviolet];
117 "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/9y9g13gxcq2ilrk27ic2ga4sm6glxyvf-glibc-mesboot0-2.2.5.drv" [color = darkviolet];
118 "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/qnn5zfx4jxx45rdlw7r7qivqml3a35kj-gcc-mesboot0-2.95.3.drv" [color = darkviolet];
119 "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/n4if7b9krvdj6mzm6ziphhvpggxz7y4h-make-mesboot0-3.80.drv" [color = darkviolet];
120 "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
121 "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/9wgjh1j6bcd552wyf36jb3dqwdi4vxzj-bootstrap-binaries-0.drv" [color = darkviolet];
122 "/gnu/store/nh28zik1l0b0y5sl9b3j3xff0gv8pf3z-make-mesboot-3.82.drv" -> "/gnu/store/7izlib8w4yjmjwqiv24bddcc5p12ircv-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
123
124}
diff --git a/doc/local.mk b/doc/local.mk
index 0b7904329a2..f6129708c35 100644
--- a/doc/local.mk
+++ b/doc/local.mk
@@ -33,6 +33,7 @@ DOT_FILES = \
33 %D%/images/bootstrap-packages.dot \ 33 %D%/images/bootstrap-packages.dot \
34 %D%/images/coreutils-graph.dot \ 34 %D%/images/coreutils-graph.dot \
35 %D%/images/coreutils-bag-graph.dot \ 35 %D%/images/coreutils-bag-graph.dot \
36 %D%/images/gcc-mesboot-bag-graph.dot \
36 %D%/images/service-graph.dot \ 37 %D%/images/service-graph.dot \
37 %D%/images/shepherd-graph.dot 38 %D%/images/shepherd-graph.dot
38 39