From: Andrius Štikonas via "Development of GNU Guix and the GNU System distribution." <guix-devel@gnu.org>
To: Jan Nieuwenhuizen <janneke@gnu.org>, bootstrappable@freelists.org
Cc: guix-devel@gnu.org, bootstrappable@freelists.org
Subject: Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello'
Date: Wed, 06 Jan 2021 11:46:54 +0000 [thread overview]
Message-ID: <4097605.XNSazgUCOe@laptop> (raw)
In-Reply-To: <87im8amhb3.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 3468 bytes --]
2021 m. sausio 6 d., trečiadienis 11:32:48 GMT Ludovic Courtès rašė:
> Hi!
>
> Jan Nieuwenhuizen <janneke@gnu.org> skribis:
>
> > 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):
> >
> > $ ./pre-inst-env guix build hello --verbosity=1
> > [..]
> > /gnu/store/w61gf93yn2bxwyc6d1xp4y9lavvw1l3d-hello-2.10
> > 17:58:54 janneke@dundal:~/src/guix/wip-fsb [env]
>
> This is amazing! Incredible. Thumbs up!
>
> (BTW, you recently worked on the secret service¹, and now the
> FSB—coincidence?)
>
> ¹ https://git.savannah.gnu.org/cgit/guix.git/commit?id=ec32d4f291b3cc039a99f8090b6c2b2444be5a83
>
> > 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.
>
> Longer-term, could bootar, Gash, etc. run on Mes? Would that help?
I think that's what mes-m2 rewrite [1] (not to be confused with mes wip-m2 branch)
is trying to achieve.
Outside of Guix we are working on bootstrap that does not depend on guile driver
and is driven only by hex-0 seed (357 bytes) kaem-optional-seed (737 bytes) and any POSIX
kernel.
At the moment it goes all the way up to Mes (tcc is now in progress).
Andrius
[1] https://github.com/oriansj/mes-m2
>
> > 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.
>
> Woow. I’m willing to take a closer look at all this, this is
> impressive!
>
> > 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
>
> All this should be piece of cake compared to what you’ve gone through.
> ;-) But it does mean long rebuild cycles, which I guess can be tiring.
>
> > * 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
>
> Ah, that’s the second big challenge!
>
> Congratulations to you and everyone involved for going this far!
> You made it!
>
> Ludo’.
>
>
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2021-01-07 0:31 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-04 17:01 wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello' Jan Nieuwenhuizen
2021-01-05 0:49 ` [bootstrappable] " jeremiah
2021-01-05 16:58 ` Pierre Neidhardt
2021-01-06 11:32 ` [bootstrappable] " Ludovic Courtès
2021-01-06 11:46 ` Andrius Štikonas via Development of GNU Guix and the GNU System distribution. [this message]
2021-01-06 14:03 ` [bootstrappable] " 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=4097605.XNSazgUCOe@laptop \
--to=guix-devel@gnu.org \
--cc=andrius@stikonas.eu \
--cc=bootstrappable@freelists.org \
--cc=janneke@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).