[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello'
From: |
Jan Nieuwenhuizen |
Subject: |
wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello' |
Date: |
Mon, 04 Jan 2021 18:01:21 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
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
gcc-core-mesboot0-graph.dot
Description: Binary data
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
- wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello',
Jan Nieuwenhuizen <=
- Re: [bootstrappable] wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', jeremiah, 2021/01/04
- Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', Pierre Neidhardt, 2021/01/05
- Re: [bootstrappable] wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', Ludovic Courtès, 2021/01/06
- Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', Andrius Štikonas, 2021/01/06
- RE: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', Orians, Jeremiah (DTMB), 2021/01/06
- Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', Ludovic Courtès, 2021/01/14
- Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', jeremiah, 2021/01/14
- Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', Ludovic Courtès, 2021/01/21
- RE: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', Orians, Jeremiah (DTMB), 2021/01/21
- Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello', Ludovic Courtès, 2021/01/28