2021 m. sausio 6 d., trečiadienis 11:32:48 GMT Ludovic Courtès rašė: > 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? 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’. > >