guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex


From: Andrius Štikonas
Subject: Re: [bootstrappable] Re: wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello'
Date: Wed, 06 Jan 2021 11:46:54 +0000

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: signature.asc
Description: This is a digitally signed message part.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]