unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
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

             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).