GNU Mes 0.27 released
Andrius Štikonas
andrius at stikonas.eu
Tue Jul 9 22:15:52 UTC 2024
(Sorry, initially forgot to do reply all and only sent it to bug-mes)
2024 m. liepos 9 d., antradienis 18:18:19 GMT+1 Simon Tournier rašė:
> Hi Janneke,
>
> On Sat, 06 Jul 2024 at 11:16, Janneke Nieuwenhuizen <janneke at gnu.org> wrote:
> > We are happy to announce the release of GNU Mes 0.27.
>
> Cool! Really nice.
>
> > Remove indirect Guile
> >
> > dependencies (via Gash and Gash-Utils) from the Mes bootstrap in Guix.
>
> Do you mean remove guile-bootstrap from the picture? The root of this
> graph:
I think what janneke means (correct me if I'm wrong) is that before now gash
and gash utils could only run on guile but not on mes. So that arrow that was
pointing from gash to guile-bootstrap will point to mes.
>
> https://www.gnu.org/software/mes/manual/images/gcc-mesboot-graph.png
>
> ? What’s the plan? Replace the requirements of stage0-posix provided
> by Gash and Gash-Utils by increasing bootstrap-seeds?
bootstrap seeds bubble in that graph refers to [1], so it wouldn't be changing
as we don't add anything else there.
stage0-posix requirements are related to package manager and/or limitations of
source distribution method. If stage0-posix exists in unpacked form, it can
run the whole bootstrap chain itself using either kaem-optional-seed [2] in
userspace/POSIX bootstrap (e.g. just kernel and initramfs with bootstrap-seeds
and source) or builder-hex0 [3] (plus sources) in MBR/BIOS bootstrap (where we
bootstrap linux kernel too). And then no guile-bootstrap is needed at all.
Both of these problems are already solved on x86 (though now new x86 machines
generally come without BIOS and bootstrapping on UEFI is only partially done).
But this method of running bootstrap from just sub 1KB bootstrap-seeds (and no
guile-bootstrap) cannot be directly implemented in Guix or any other package
manager. They'll always need some extra seeds that run package manager itself.
At best we can hope to make those additional seeds smaller, e.g. replace
guile-bootstrap with mes and make Guix run in mes but we can't replace guile-
bootstrap with kaem-optional-seed and still keep package manager
functionality.
What would be interesting from bootstrapping perspective is to make those
additional seeds (guile-bootstrap in particular) fully bootstrappable/
reproducible not just from inside Guix but also without Guix, so that we don't
have chicken and egg problem of how to build guile-bootstrap binary when we
don't yet have Guix.
>
> Well, gcc-core-mesboot0 which is higher in the graph also depends on
> guile-bootstrap, right?
I think janneke hopes that one day guile-bootstrap will be replaced by mes.
mes is also much easier to irreducibly bootstrap than guile.
Andrius
[1] https://github.com/oriansj/bootstrap-seeds/
[2] https://github.com/oriansj/bootstrap-seeds/tree/master/POSIX/x86
[3] https://github.com/oriansj/bootstrap-seeds/tree/master/NATIVE/x86
More information about the rb-general
mailing list