From: Jan Nieuwenhuizen <janneke@gnu.org>
To: guix-devel@gnu.org
Cc: bootstrappable@freelists.org
Subject: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello'
Date: Mon, 04 Jan 2021 18:01:21 +0100 [thread overview]
Message-ID: <87im8cvdpa.fsf@gnu.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 2233 bytes --]
Hi!
I have reset Guix' wip-full-source-bootstrap branch with a first working
implementation of the, well, "Full Source Bootstrap" for x86-linux (and
x86_64-linux). This bootstrap is rooted in the 357-byte hex0-seed from
the Stage0 project (https://savannah.gnu.org/projects/stage0):
--8<---------------cut here---------------start------------->8---
$ ./pre-inst-env guix build hello --verbosity=1
[..]
/gnu/store/w61gf93yn2bxwyc6d1xp4y9lavvw1l3d-hello-2.10
17:58:54 janneke@dundal:~/src/guix/wip-fsb [env]
--8<---------------cut here---------------end--------------->8---
(it runs too!).
When you look at the bottom of the graph (see attached), you will notice
"%bootstrap-guile": the driver that we use for the Guix build and also
for "bootar", "gash", and "gash-utils". This "%bootstrap-guile" is not
used as a seed in anything that is built, "%bootstrap-guile", "bootar",
"gash", and "gash-utils" could be replaced with any other driver.
Two new packages are added: "bootstrap-seeds", which contains the
hex0-seed binary
(https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/hex0-seed)
with ASCII-equivalent
(https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX/x86/hex0_x86.hex0),
and "m2-planet-boot" which, starting from hex0, via hex1, M0, hex2 and
M1, bootstraps the M2-Planet transpiler. M2 is a language that closely
resembles a subset of C.
The breakthrough is that this M2-Planet can now compile a version of GNU
Mes, as yet unreleased: the wip-m2 branch. This removes the remaining
binary seeds: %bootstrap-mescc-tools and %bootstrap-mes, together with
the "%bootstrap-mes-rewired" hack.
Apart from a review there is still some work before it can be
integrated, in short (from the top commit message):
XXX TODO:
* wip-full-source-bootstrap
- release mes-0.24, update
- possibly release m2-planet-1.8.0, update
- rebase wip-full-source-bootstrap onto core-updates
- integrate
* wip-arm-bootstrap
- finish; currently stuck on gawk-mesboot0
- release mes-0.23
- devise strategy for integrating wip-full-source-bootstrap and
wip-arm-bootstrap
Greetings,
Janneke
*) https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-full-source-bootstrap
[-- Attachment #2: gcc-core-mesboot0-graph.dot --]
[-- Type: application/octet-stream, Size: 7284 bytes --]
digraph "Guix package" {
"139965588787520" [label = "gcc-core-mesboot0@2.95.3", shape = box, fontname = sans];
"139965588787520" -> "139965588787680" [color = darkviolet];
"139965588787520" -> "139965588788480" [color = darkviolet];
"139965588787520" -> "139965588788640" [color = darkviolet];
"139965588787520" -> "139965588788160" [color = darkviolet];
"139965588787520" -> "139965588788960" [color = darkviolet];
"139965588787520" -> "139965588788000" [color = darkviolet];
"139965588787520" -> "139965588787840" [color = darkviolet];
"139965588787520" -> "139965588788320" [color = darkviolet];
"139965588787520" -> "139965588788800" [color = darkviolet];
"139965588787520" -> "139965588789920" [color = darkviolet];
"139965588787520" -> "139965588789760" [color = darkviolet];
"139965588787520" -> "139965588790080" [color = darkviolet];
"139965588787520" -> "139965749563136" [color = darkviolet];
"139965588787680" [label = "binutils-mesboot0@2.14", shape = box, fontname = sans];
"139965588787680" -> "139965588788480" [color = dimgrey];
"139965588787680" -> "139965588788640" [color = dimgrey];
"139965588787680" -> "139965588788160" [color = dimgrey];
"139965588787680" -> "139965588788960" [color = dimgrey];
"139965588787680" -> "139965588788000" [color = dimgrey];
"139965588787680" -> "139965588787840" [color = dimgrey];
"139965588787680" -> "139965588788320" [color = dimgrey];
"139965588787680" -> "139965588788800" [color = dimgrey];
"139965588787680" -> "139965588789920" [color = dimgrey];
"139965588787680" -> "139965588789760" [color = dimgrey];
"139965588787680" -> "139965588790080" [color = dimgrey];
"139965588787680" -> "139965749563136" [color = dimgrey];
"139965588788480" [label = "bash-mesboot0@2.05b", shape = box, fontname = sans];
"139965588788480" -> "139965588788800" [color = dimgrey];
"139965588788480" -> "139965588789120" [color = dimgrey];
"139965588788480" -> "139965588789920" [color = dimgrey];
"139965588788480" -> "139965588789760" [color = dimgrey];
"139965588788480" -> "139965588790080" [color = dimgrey];
"139965588788480" -> "139965749563136" [color = dimgrey];
"139965588788800" [label = "make-mesboot0@3.80", shape = box, fontname = sans];
"139965588788800" -> "139965588789120" [color = peachpuff4];
"139965588788800" -> "139965588789920" [color = peachpuff4];
"139965588788800" -> "139965588789760" [color = peachpuff4];
"139965588788800" -> "139965588790080" [color = peachpuff4];
"139965588788800" -> "139965749563136" [color = peachpuff4];
"139965588789120" [label = "tcc-boot0@0.9.26-1136-g5bba73cc", shape = box, fontname = sans];
"139965588789120" -> "139965588789280" [color = dimgrey];
"139965588789120" -> "139965588789440" [color = dimgrey];
"139965588789120" -> "139965588789920" [color = dimgrey];
"139965588789120" -> "139965588789760" [color = dimgrey];
"139965588789120" -> "139965588790080" [color = dimgrey];
"139965588789120" -> "139965749563136" [color = dimgrey];
"139965588789280" [label = "mes-boot@0.22-305-g2ab4c5c67", shape = box, fontname = sans];
"139965588789280" -> "139965588789440" [color = red];
"139965588789280" -> "139965588789920" [color = red];
"139965588789280" -> "139965588789760" [color = red];
"139965588789280" -> "139965588790080" [color = red];
"139965588789280" -> "139965749563136" [color = red];
"139965588789440" [label = "m2-planet-boot@1.7.0-31-g358b6cf", shape = box, fontname = sans];
"139965588789440" -> "139965588789600" [color = cyan3];
"139965588789440" -> "139965588789920" [color = cyan3];
"139965588789440" -> "139965588789760" [color = cyan3];
"139965588789440" -> "139965588790080" [color = cyan3];
"139965588789440" -> "139965749563136" [color = cyan3];
"139965588789600" [label = "bootstrap-seeds@1.0.0", shape = ellipse, fontname = sans];
"139965588789600" -> "139965588790080" [color = peachpuff4];
"139965588790080" [label = "bootar@1a", shape = box, fontname = sans];
"139965588790080" -> "139965749563136" [color = darkseagreen];
"139965749563136" [label = "guile-bootstrap@2.0", shape = ellipse, fontname = sans];
"139965588789920" [label = "gash-boot@0.2.0", shape = box, fontname = sans];
"139965588789920" -> "139965588790080" [color = magenta];
"139965588789920" -> "139965749563136" [color = magenta];
"139965588789760" [label = "gash-utils-boot@0.1.0", shape = box, fontname = sans];
"139965588789760" -> "139965588790080" [color = magenta];
"139965588789760" -> "139965588789920" [color = magenta];
"139965588789760" -> "139965749563136" [color = magenta];
"139965588788640" [label = "bzip2-mesboot@1.0.8", shape = box, fontname = sans];
"139965588788640" -> "139965588788800" [color = dimgrey];
"139965588788640" -> "139965588789120" [color = dimgrey];
"139965588788640" -> "139965588789920" [color = dimgrey];
"139965588788640" -> "139965588789760" [color = dimgrey];
"139965588788640" -> "139965588790080" [color = dimgrey];
"139965588788640" -> "139965749563136" [color = dimgrey];
"139965588788160" [label = "diffutils-mesboot@2.7", shape = box, fontname = sans];
"139965588788160" -> "139965588788800" [color = cyan3];
"139965588788160" -> "139965588789120" [color = cyan3];
"139965588788160" -> "139965588789920" [color = cyan3];
"139965588788160" -> "139965588789760" [color = cyan3];
"139965588788160" -> "139965588790080" [color = cyan3];
"139965588788160" -> "139965749563136" [color = cyan3];
"139965588788960" [label = "gzip-mesboot@1.2.4", shape = box, fontname = sans];
"139965588788960" -> "139965588789120" [color = cyan3];
"139965588788960" -> "139965588789920" [color = cyan3];
"139965588788960" -> "139965588789760" [color = cyan3];
"139965588788960" -> "139965588790080" [color = cyan3];
"139965588788960" -> "139965749563136" [color = cyan3];
"139965588788000" [label = "patch-mesboot@2.5.9", shape = box, fontname = sans];
"139965588788000" -> "139965588788800" [color = dimgrey];
"139965588788000" -> "139965588789120" [color = dimgrey];
"139965588788000" -> "139965588789920" [color = dimgrey];
"139965588788000" -> "139965588789760" [color = dimgrey];
"139965588788000" -> "139965588790080" [color = dimgrey];
"139965588788000" -> "139965749563136" [color = dimgrey];
"139965588787840" [label = "sed-mesboot0@1.18", shape = box, fontname = sans];
"139965588787840" -> "139965588788800" [color = peachpuff4];
"139965588787840" -> "139965588789120" [color = peachpuff4];
"139965588787840" -> "139965588789920" [color = peachpuff4];
"139965588787840" -> "139965588789760" [color = peachpuff4];
"139965588787840" -> "139965588790080" [color = peachpuff4];
"139965588787840" -> "139965749563136" [color = peachpuff4];
"139965588788320" [label = "tcc-boot@0.9.27", shape = box, fontname = sans];
"139965588788320" -> "139965588788640" [color = dimgrey];
"139965588788320" -> "139965588788800" [color = dimgrey];
"139965588788320" -> "139965588789120" [color = dimgrey];
"139965588788320" -> "139965588789920" [color = dimgrey];
"139965588788320" -> "139965588789760" [color = dimgrey];
"139965588788320" -> "139965588790080" [color = dimgrey];
"139965588788320" -> "139965749563136" [color = dimgrey];
}
[-- Attachment #3: Type: text/plain, Size: 152 bytes --]
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
next reply other threads:[~2021-01-04 17:03 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-04 17:01 Jan Nieuwenhuizen [this message]
2021-01-05 0:49 ` [bootstrappable] wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello' jeremiah
2021-01-05 16:58 ` Pierre Neidhardt
2021-01-06 11:32 ` [bootstrappable] " Ludovic Courtès
2021-01-06 11:46 ` [bootstrappable] " Andrius Štikonas via Development of GNU Guix and the GNU System distribution.
2021-01-06 14:03 ` Orians, Jeremiah (DTMB)
2021-01-14 21:37 ` Ludovic Courtès
2021-01-15 1:27 ` jeremiah
2021-01-21 11:09 ` Ludovic Courtès
2021-01-21 17:52 ` Orians, Jeremiah (DTMB)
2021-01-28 13:40 ` Ludovic Courtès
2021-01-28 13:44 ` Orians, Jeremiah (DTMB)
2021-01-06 14:38 ` [bootstrappable] " Paul Sherwood
2021-01-07 10:43 ` Jan Nieuwenhuizen
2021-01-07 20:10 ` [bootstrappable] " Danny Milosavljevic
2021-01-07 20:23 ` Danny Milosavljevic
2021-01-07 22:52 ` Danny Milosavljevic
2021-01-08 6:25 ` Jan Nieuwenhuizen
2021-01-08 8:05 ` [Tinycc-devel] " arnold
2021-01-08 13:02 ` Jan Nieuwenhuizen
2021-01-08 13:43 ` Danny Milosavljevic
2021-01-08 14:07 ` Danny Milosavljevic
2021-01-08 16:15 ` Jan Nieuwenhuizen
2021-01-08 18:56 ` Danny Milosavljevic
2021-01-08 21:11 ` Danny Milosavljevic
2021-01-08 22:13 ` Jan Nieuwenhuizen
2021-01-08 7:16 ` [Tinycc-devel] " grischka
2021-01-08 13:25 ` Danny Milosavljevic
2021-01-08 13:36 ` [bootstrappable] Re: [Tinycc-devel] " Orians, Jeremiah (DTMB)
2021-01-08 15:16 ` [Tinycc-devel] [bootstrappable] " Vincent Lefevre
2021-01-08 16:12 ` [Tinycc-devel] [bootstrappable] " Jan Nieuwenhuizen
2021-01-25 22:47 ` ARM Unified Assembly Language - GNU as does some weird stuff Danny Milosavljevic
2021-01-25 23:12 ` [bootstrappable] " Orians, Jeremiah (DTMB)
2021-01-26 1:14 ` Danny Milosavljevic
2021-01-08 0:29 ` wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello' Jan Wielkiewicz
2021-01-20 20:19 ` Timothy Sample
2021-01-25 18:48 ` Efraim Flashner
2021-01-29 7:23 ` [bootstrappable] " Jan Nieuwenhuizen
2021-01-29 10:18 ` andrius--- via Development of GNU Guix and the GNU System distribution.
2021-01-29 16:02 ` Orians, Jeremiah (DTMB)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87im8cvdpa.fsf@gnu.org \
--to=janneke@gnu.org \
--cc=bootstrappable@freelists.org \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).