doc: fosdem21: Update intro.
* doc/talks/fosdem21/intro.org: Update to current status. * doc/talks/fosdem21/intro.pdf: Regerenate.
This commit is contained in:
parent
59018095b9
commit
ab7522005a
|
@ -1,6 +1,6 @@
|
||||||
#+TITLE: Bootstrapping Intro
|
#+TITLE: Bootstrapping Intro
|
||||||
#+TITLE: \smaller[2]{-- Current status}
|
#+TITLE: \smaller[2]{-- Current status}
|
||||||
#+DATE:2020-01-30
|
#+DATE:2021-02-08
|
||||||
#+EMAIL: janneke@gnu.org
|
#+EMAIL: janneke@gnu.org
|
||||||
#+AUTHOR: janneke@gnu.org
|
#+AUTHOR: janneke@gnu.org
|
||||||
#+COPYRIGHT: janneke (Jan Nieuwenhuizen) <janneke@gn.org>
|
#+COPYRIGHT: janneke (Jan Nieuwenhuizen) <janneke@gn.org>
|
||||||
|
@ -11,6 +11,7 @@
|
||||||
#+LATEX_HEADER:\def\ahref#1#2{\htmladdnormallink{#2}{#1}}
|
#+LATEX_HEADER:\def\ahref#1#2{\htmladdnormallink{#2}{#1}}
|
||||||
#+LATEX_CLASS: beamer
|
#+LATEX_CLASS: beamer
|
||||||
#+LATEX_CLASS_OPTIONS: [presentation]
|
#+LATEX_CLASS_OPTIONS: [presentation]
|
||||||
|
#+LaTeX_CLASS_OPTIONS: [aspectratio=169]
|
||||||
#+LATEX_HEADER: \usepackage{relsize}
|
#+LATEX_HEADER: \usepackage{relsize}
|
||||||
#+LATEX_HEADER: \usepackage{hyperref}
|
#+LATEX_HEADER: \usepackage{hyperref}
|
||||||
#+LATEX_HEADER: \mode<beamer>{\usetheme{X}}
|
#+LATEX_HEADER: \mode<beamer>{\usetheme{X}}
|
||||||
|
@ -33,7 +34,7 @@ $ guix graph -e '(@@ (gnu packages commencement) gnu-make-boot0)'
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Guix v1.0: The First GCC
|
** 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
|
** Guix bootstrap tarballs
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
|
@ -41,24 +42,26 @@ $ guix build bootstrap-tarballs
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Guix v1.0 bootstrap binary seed
|
** Guix v1.0 bootstrap binary seed
|
||||||
|
#+LATEX:\small
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
$ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
|
$ 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
|
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
|
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
|
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.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
|
5.8M /gnu/store/j8yzjmh9sy4gbdfwjrhw46zca43aah6x-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz
|
||||||
33M total
|
33M total
|
||||||
$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\
|
$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\
|
||||||
do sudo tar xf $i; done
|
do sudo tar xf $i; done
|
||||||
$ du -schx *
|
$ du -schx *
|
||||||
130M bin
|
130M bin
|
||||||
13M include
|
13M include
|
||||||
54M lib
|
54M lib
|
||||||
51M libexec
|
51M libexec
|
||||||
5.2M share
|
5.2M share
|
||||||
252M total
|
252M total
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
#+LATEX:\normalsize
|
||||||
|
|
||||||
** Reduce binary seeds to bare minimum
|
** Reduce binary seeds to bare minimum
|
||||||
#+BEGIN_QUOTE
|
#+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)
|
minimum. -- Ludovic Courtès (GNU Guix documentation, December 2017)
|
||||||
#+END_QUOTE
|
#+END_QUOTE
|
||||||
|
|
||||||
|
|
||||||
|
* Bootstrapping Guix 1.1: Reduced Binary Seed
|
||||||
|
|
||||||
** Guix Reduced Binary Seed
|
** Guix Reduced Binary Seed
|
||||||
|
#+LATEX:\small
|
||||||
#+BEGIN_SRC sh
|
#+BEGIN_SRC sh
|
||||||
$ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
|
$ 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
|
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
|
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
|
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
|
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
|
6.0M /gnu/store/nv4djwlrljfqmynqr2cqvfwz0ydx7kxb-static-binaries-tarball-0/static-binaries-0-x86_64-linux.tar.xz
|
||||||
13M total
|
13M total
|
||||||
$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\
|
$ for i in $(readlink $(guix build bootstrap-tarballs)/*);\
|
||||||
do sudo tar xf $i; done
|
do sudo tar xf $i; done
|
||||||
Password:
|
Password:
|
||||||
$ du -schx *
|
$ du -schx *
|
||||||
93M bin
|
93M bin
|
||||||
700K include
|
700K include
|
||||||
38M lib
|
38M lib
|
||||||
14M share
|
14M share
|
||||||
145M total
|
145M total
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
#+LATEX:\normalsize
|
||||||
|
|
||||||
** Guix Scheme-only bootstrap
|
* Bootstrapping Guix 1.2: 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
|
|
||||||
|
|
||||||
** Scheme-only bootstrap: Gash Core Utils
|
** Scheme-only bootstrap: Gash Core Utils
|
||||||
|
|
||||||
|
@ -125,26 +117,69 @@ chmod expr ln rmdir touch
|
||||||
cmp false ls sed tr
|
cmp false ls sed tr
|
||||||
compress find mkdir sh true
|
compress find mkdir sh true
|
||||||
#+END_SRC
|
#+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
|
* 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
|
** Guix Full Source Bootstrap
|
||||||
#+LATEX:\includegraphics[width=0.6\textwidth]{fsb-logo-guile-guix-mes.png}
|
#+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
|
** Full Source Bootstrap: Stage 0
|
||||||
#+LATEX:\rightskip=2cm\includegraphics[width=0.8\textwidth]{stage-0.png}
|
#+LATEX:\rightskip=2cm\includegraphics[width=0.8\textwidth]{stage-0.png}
|
||||||
|
|
||||||
** Full Source Bootstrap: Stage 1
|
** 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
|
** 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
|
** 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
|
** 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
|
* legalese
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
|
@ -152,7 +187,7 @@ compress find mkdir sh true
|
||||||
:COPYING: t
|
:COPYING: t
|
||||||
:END:
|
:END:
|
||||||
|
|
||||||
Copyright \copy 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
Copyright \copy 2019, 2020, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||||
|
|
||||||
#+BEGIN_QUOTE
|
#+BEGIN_QUOTE
|
||||||
Permission is granted to copy, distribute and/or modify this
|
Permission is granted to copy, distribute and/or modify this
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue