Re: [bootstrappable] wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello'
Paul Sherwood writes: Hello Paul, > On 2021-01-04 17:01, Jan Nieuwenhuizen wrote: >> 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): > > This is really exciting, great job Jan! Do you need any help, e.g. on > the ARM side, or with optimising the integration? Thanks! We really could use help with this (Danny?). To paint the picture for people listening in: Next to ARM it may need some Guix skills, or even more work to reproduce our experimental ARM bootstrap outside of Guix. I'm a bit hesitant about the timing, because I cannot make much time the coming week. A very short summary of where we are, on wip-arm-bootstrap, building gawk-mesboot0 --8<---cut here---start->8--- ./pre-inst-env guix build -e '(@@ (gnu packages commencement) gawk-mesboot0)' --8<---cut here---end--->8--- produces a gawk binary that fails to increment a variable --8<---cut here---start->8--- 11:35:59 janneke@novena:~/src/wip-arm-bootstrap [env] $ /gnu/store/f756xxxqj3mabaax5r4ldrxh01a9q54r-gawk-mesboot0-3.0.0/bin/gawk -f add.awk add.awk i=1 i=2 11:36:14 janneke@novena:~/src/wip-arm-bootstrap [env] $ /gnu/store/f756xxxqj3mabaax5r4ldrxh01a9q54r-gawk-mesboot0-3.0.0/bin/gawk -f inc.awk inc.awk i= 0 i= 0 11:36:27 janneke@novena:~/src/wip-arm-bootstrap [env] --8<---cut here---end--->8--- So could be anything, could bin in tcc-boot or in gawk-mesboot0... Thanks for reaching out! Greetings, Janneke add.awk Description: Binary data inc.awk Description: Binary data -- Jan Nieuwenhuizen | GNU LilyPond http://lilypond.org Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
Re: [bootstrappable] wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello'
On 2021-01-04 17:01, Jan Nieuwenhuizen wrote: 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): This is really exciting, great job Jan! Do you need any help, e.g. on the ARM side, or with optimising the integration?
Re: [bootstrappable] wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello'
Hi! Jan Nieuwenhuizen 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? > 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’.
Re: [bootstrappable] wip-full-source-bootstrap: from a 357-byte `hex0' to 'hello'
Amazing work as always janneke. We will just have to do some kaem work to make it work all on POSIX systems. -Jeremiah