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,6 +42,7 @@ $ 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
@ -59,6 +61,7 @@ $ du -schx *
5.2M share
252M total
#+END_SRC
#+LATEX:\normalsize
** Reduce binary seeds to bare minimum
#+BEGIN_QUOTE
@ -76,7 +79,11 @@ 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
@ -95,10 +102,24 @@ $ du -schx *
14M share
145M total
#+END_SRC
#+LATEX:\normalsize
* Bootstrapping Guix 1.2: Scheme only-bootstrap
** Scheme-only bootstrap: Gash Core Utils
#+BEGIN_SRC sh
awk cp gash mv sleep uname
basename cut grep pwd sort uniq
bash diff gzip reboot tar wc
cat dirname head rm test which
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 $(~/src/guix/wip-bootstrap/pre-inst-env guix build bootstrap-tarballs)/*)
$ 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
@ -114,37 +135,51 @@ $ du -schx *
57M total
#+END_SRC
** Scheme-only bootstrap: Gash Core Utils
* 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
* ...
** Guix Full Source Bootstrap
#+BEGIN_SRC sh
awk cp gash mv sleep uname
basename cut grep pwd sort uniq
bash diff gzip reboot tar wc
cat dirname head rm test which
chmod expr ln rmdir touch
cmp false ls sed tr
compress find mkdir sh true
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
* Aim for the Stars: Full Source Bootstrap
** Full Source Bootstrap
#+LATEX:\includegraphics[width=0.6\textwidth]{fsb-logo-guile-guix-mes.png}
** 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.