doc: fosdem21: Update intro.

* doc/talks/fosdem21/intro.org: Update to current status.
* doc/talks/fosdem21/intro.pdf: Regerenate.
This commit is contained in:
Jan (janneke) Nieuwenhuizen 2021-02-08 07:46:39 +01:00
parent 59018095b9
commit ab7522005a
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
2 changed files with 88 additions and 53 deletions

View File

@ -1,6 +1,6 @@
#+TITLE: Bootstrapping Intro
#+TITLE: \smaller[2]{-- Current status}
#+DATE:2020-01-30
#+DATE:2021-02-08
#+EMAIL: janneke@gnu.org
#+AUTHOR: janneke@gnu.org
#+COPYRIGHT: janneke (Jan Nieuwenhuizen) <janneke@gn.org>
@ -11,6 +11,7 @@
#+LATEX_HEADER:\def\ahref#1#2{\htmladdnormallink{#2}{#1}}
#+LATEX_CLASS: beamer
#+LATEX_CLASS_OPTIONS: [presentation]
#+LaTeX_CLASS_OPTIONS: [aspectratio=169]
#+LATEX_HEADER: \usepackage{relsize}
#+LATEX_HEADER: \usepackage{hyperref}
#+LATEX_HEADER: \mode<beamer>{\usetheme{X}}
@ -33,7 +34,7 @@ $ guix graph -e '(@@ (gnu packages commencement) gnu-make-boot0)'
#+END_SRC
** Guix v1.0: The First GCC
#+LATEX:\includegraphics[width=1.3\textwidth]{gcc-boot0-black.png}
#+LATEX:\includegraphics[width=1.05\textwidth]{gcc-boot0-black.png}
** Guix bootstrap tarballs
#+BEGIN_SRC sh
@ -41,24 +42,26 @@ $ guix build bootstrap-tarballs
#+END_SRC
** Guix v1.0 bootstrap binary seed
#+LATEX:\small
#+BEGIN_SRC sh
$ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
2.1M /gnu/store/9623n4bq6iq5c8cwwdq99qb7d0xj93ym-binutils-static-stripped-tarball-2.28.1/binutils-static-stripped-2.28.1-x86_64-linux.tar.xz
18M /gnu/store/437xwygmmwwpkddcyy1qvjcv4hak89pb-gcc-stripped-tarball-5.5.0/gcc-stripped-5.5.0-x86_64-linux.tar.xz
1.8M /gnu/store/55ccx18a0d1x5y6a575jf1yr0ywizvdg-glibc-stripped-tarball-2.26.105-g0890d5379c/glibc-stripped-2.26.105-g0890d5379c-x86_64-linux.tar.xz
5.7M /gnu/store/bqf0ajclbvnbm0a46819f30804y3ilx0-guile-static-stripped-tarball-2.2.3/guile-static-stripped-2.2.3-x86_64-linux.tar.xz
5.8M /gnu/store/j8yzjmh9sy4gbdfwjrhw46zca43aah6x-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz
33M total
2.1M /gnu/store/9623n4bq6iq5c8cwwdq99qb7d0xj93ym-binutils-static-stripped-tarball-2.28.1/binutils-static-stripped-2.28.1-x86_64-linux.tar.xz
18M /gnu/store/437xwygmmwwpkddcyy1qvjcv4hak89pb-gcc-stripped-tarball-5.5.0/gcc-stripped-5.5.0-x86_64-linux.tar.xz
1.8M /gnu/store/55ccx18a0d1x5y6a575jf1yr0ywizvdg-glibc-stripped-tarball-2.26.105-g0890d5379c/glibc-stripped-2.26.105-g0890d5379c-x86_64-linux.tar.xz
5.7M /gnu/store/bqf0ajclbvnbm0a46819f30804y3ilx0-guile-static-stripped-tarball-2.2.3/guile-static-stripped-2.2.3-x86_64-linux.tar.xz
5.8M /gnu/store/j8yzjmh9sy4gbdfwjrhw46zca43aah6x-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz
33M total
$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\
do sudo tar xf $i; done
$ du -schx *
130M bin
13M include
54M lib
51M libexec
5.2M share
252M total
130M bin
13M include
54M lib
51M libexec
5.2M share
252M total
#+END_SRC
#+LATEX:\normalsize
** Reduce binary seeds to bare minimum
#+BEGIN_QUOTE
@ -76,43 +79,32 @@ Thus, our goal is to reduce the set of bootstrap binaries to the bare
minimum. -- Ludovic Courtès (GNU Guix documentation, December 2017)
#+END_QUOTE
* Bootstrapping Guix 1.1: Reduced Binary Seed
** Guix Reduced Binary Seed
#+LATEX:\small
#+BEGIN_SRC sh
$ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
5.7M /gnu/store/9f8gi8raqfx9j3l9d00qrrc0jg3r1kyj-guile-static-stripped-tarball-2.2.6/guile-static-stripped-2.2.6-x86_64-linux.tar.xz
80K /gnu/store/b6rjl52hibhmvyw4dg8678pwryhla0h2-linux-libre-headers-stripped-tarball-4.19.56/linux-libre-headers-stripped-4.19.56-x86_64-linux.tar.xz
12K /gnu/store/d7zlxsjcnqilmvqwx7scija9x9bjw8cw-mescc-tools-static-stripped-tarball-0.5.2-0.bb062b0/mescc-tools-static-stripped-0.5.2-0.bb062b0-x86_64-linux.tar.xz
428K /gnu/store/n7zc4kpi8ny6jlfaikkzxlwhc5fvr1vr-mes-minimal-stripped-tarball-0.19/mes-minimal-stripped-0.19-x86_64-linux.tar.xz
6.0M /gnu/store/nv4djwlrljfqmynqr2cqvfwz0ydx7kxb-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz
13M total
5.7M /gnu/store/9f8gi8raqfx9j3l9d00qrrc0jg3r1kyj-guile-static-stripped-tarball-2.2.6/guile-static-stripped-2.2.6-x86_64-linux.tar.xz
80K /gnu/store/b6rjl52hibhmvyw4dg8678pwryhla0h2-linux-libre-headers-stripped-tarball-4.19.56/linux-libre-headers-stripped-4.19.56-x86_64-linux.tar.xz
12K /gnu/store/d7zlxsjcnqilmvqwx7scija9x9bjw8cw-mescc-tools-static-stripped-tarball-0.5.2-0.bb062b0/mescc-tools-static-stripped-0.5.2-0.bb062b0-x86_64-linux.tar.xz
428K /gnu/store/n7zc4kpi8ny6jlfaikkzxlwhc5fvr1vr-mes-minimal-stripped-tarball-0.19/mes-minimal-stripped-0.19-x86_64-linux.tar.xz
6.0M /gnu/store/nv4djwlrljfqmynqr2cqvfwz0ydx7kxb-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz
13M total
$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\
do sudo tar xf $i; done
Password:
$ du -schx *
93M bin
700K include
38M lib
14M share
145M total
93M bin
700K include
38M lib
14M share
145M total
#+END_SRC
#+LATEX:\normalsize
** Guix Scheme-only bootstrap
#+BEGIN_SRC sh
$ du -schx $(readlink $(~/src/guix/wip-bootstrap/pre-inst-env guix build bootstrap-tarballs)/*)
5.7M /gnu/store/1mq2pcd2h7g54xpi2jrgj6ibbi4lgi3c-guile-static-stripped-tarball-2.2.6/guile-static-stripped-2.2.6-x86_64-linux.tar.xz
80K /gnu/store/bl1r2bpk6fam8r2gjvr5mvr48i3dm2hn-linux-libre-headers-stripped-tarball-4.19.56/linux-libre-headers-stripped-4.19.56-x86_64-linux.tar.xz
12K /gnu/store/w0dlz486dhb8aiq8pxm5akllz628fqin-mescc-tools-static-stripped-tarball-0.5.2-0.bb062b0/mescc-tools-static-stripped-0.5.2-0.bb062b0-x86_64-linux.tar.xz
428K /gnu/store/15j6l18q44ymlrh1cfp4s4hc9835xic5-mes-minimal-stripped-tarball-0.19/mes-minimal-stripped-0.19-x86_64-linux.tar.xz
6.2M total
$ for i in $(readlink $(~/src/guix/wip-bootstrap/pre-inst-env guix build bootstrap-tarballs)/*);\
do sudo tar xf $i; done
$ du -schx *
4.9M bin
700K include
38M lib
14M share
57M total
#+END_SRC
* Bootstrapping Guix 1.2: Scheme only-bootstrap
** Scheme-only bootstrap: Gash Core Utils
@ -125,26 +117,69 @@ chmod expr ln rmdir touch
cmp false ls sed tr
compress find mkdir sh true
#+END_SRC
** Guix Scheme-only bootstrap
#+BEGIN_SRC sh
$ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
5.7M /gnu/store/1mq2pcd2h7g54xpi2jrgj6ibbi4lgi3c-guile-static-stripped-tarball-2.2.6/guile-static-stripped-2.2.6-x86_64-linux.tar.xz
80K /gnu/store/bl1r2bpk6fam8r2gjvr5mvr48i3dm2hn-linux-libre-headers-stripped-tarball-4.19.56/linux-libre-headers-stripped-4.19.56-x86_64-linux.tar.xz
12K /gnu/store/w0dlz486dhb8aiq8pxm5akllz628fqin-mescc-tools-static-stripped-tarball-0.5.2-0.bb062b0/mescc-tools-static-stripped-0.5.2-0.bb062b0-x86_64-linux.tar.xz
428K /gnu/store/15j6l18q44ymlrh1cfp4s4hc9835xic5-mes-minimal-stripped-tarball-0.19/mes-minimal-stripped-0.19-x86_64-linux.tar.xz
6.2M total
$ for i in $(readlink $(~/src/guix/wip-bootstrap/pre-inst-env guix build bootstrap-tarballs)/*);\
do sudo tar xf $i; done
$ du -schx *
4.9M bin
700K include
38M lib
14M share
57M total
#+END_SRC
* Aim for the Stars: Full Source Bootstrap
** Full Source Bootstrap: *WE DID IT!!!*
#+LATEX:\begin{center}
#+LATEX:\includegraphics[width=0.4\textwidth]{fsb-logo-guile-guix-mes.png}
#+LATEX:\end{center}
** WE DID IT! We did what?
*** Adapt Mes and Mes C Library for M2-Planet
* #define FOO => ...; #if BAR => ...; CAR (x) => x->car
* remove global and static array data
* foo.bar => foo->bar
* rewrite pointer arithmetic
* rewrite garbage collector
* mature M2-Planet
* ...
** Full Source Bootstrap
#+LATEX:\includegraphics[width=0.6\textwidth]{fsb-logo-guile-guix-mes.png}
** Guix Full Source Bootstrap
#+BEGIN_SRC sh
du -schx $(readlink $(guix build bootstrap-tarballs)/*)
3.1M /gnu/store/jk0yji9k25p4h8ly06g3p46k8mz8rnz6-guile-static-stripped-tarball-2.0.14/guile-static-stripped-2.0.14-x86_64-linux.tar.xz
84K /gnu/store/040sshfnimkzm9j7pzj9aind5api5s2h-linux-libre-headers-stripped-tarball-5.4.20/linux-libre-headers-stripped-5.4.20-x86_64-linux.tar.xz
3.6M total
$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\
do sudo tar xf $i; done
$ du -schx *
4.5M bin
704K include
6.1M lib
4.3M share
16M total
#+END_SRC
** Bottom of Guix package graph
#+LATEX:{\hspace{-0.55cm}\begin{frame}[plain]
#+LATEX:{{\vskip-1.9cm\includegraphics[width=1\paperwidth,height=1\paperheight]{gcc-core-mesboot0-fsb-no-guile-unversioned.png}}}
#+LATEX:\end{frame}}
** Full Source Bootstrap: Stage 0
#+LATEX:\rightskip=2cm\includegraphics[width=0.8\textwidth]{stage-0.png}
** Full Source Bootstrap: Stage 1
#+LATEX:\rightskip=2cm\includegraphics[width=0.85\textwidth]{stage-1.png}
#+LATEX:\rightskip=2cm\includegraphics[width=0.80\textwidth]{stage-1.png}
** Full Source Bootstrap: Stage 2
#+LATEX:\rightskip=2cm\includegraphics[width=0.75\textwidth]{stage-2.png}
#+LATEX:\vskip-2mm\rightskip=2cm\includegraphics[width=0.55\textwidth]{stage-2.png}
** Full Source Bootstrap: Stage mes
#+LATEX:\rightskip=2cm\includegraphics[width=0.75\textwidth]{stage-mes.png}
#+LATEX:\rightskip=2cm\includegraphics[width=0.70\textwidth]{stage-mes.png}
** Full Source Bootstrap: Stage mesboot
#+LATEX:\rightskip=2cm\includegraphics[width=1.0\textwidth]{stage-mesboot.png}
#+LATEX:\rightskip=2cm\includegraphics[width=0.80\textwidth]{stage-mesboot.png}
* legalese
:PROPERTIES:
@ -152,7 +187,7 @@ compress find mkdir sh true
:COPYING: t
:END:
Copyright \copy 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
Copyright \copy 2019, 2020, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
#+BEGIN_QUOTE
Permission is granted to copy, distribute and/or modify this

Binary file not shown.