all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Andrius Štikonas" <andrius@stikonas.eu>
To: Janneke Nieuwenhuizen <janneke@gnu.org>,
	info-gnu@gnu.org, bug-mes@gnu.org
Cc: bug-mes@gnu.org, guix-devel@gnu.org,
	bootstrappable@freelists.org,
	rb-general@lists.reproducible-builds.org,
	Simon Tournier <zimon.toutoune@gmail.com>
Subject: Re: GNU Mes 0.27 released
Date: Tue, 09 Jul 2024 23:15:52 +0100	[thread overview]
Message-ID: <3491779.QJadu78ljV@starbook> (raw)
In-Reply-To: <87a5iq5vs4.fsf@gmail.com>

(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@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






  reply	other threads:[~2024-07-09 22:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-06  9:16 GNU Mes 0.27 released Janneke Nieuwenhuizen
2024-07-09 17:18 ` Simon Tournier
2024-07-09 22:15   ` Andrius Štikonas [this message]
2024-07-10  9:07     ` Simon Tournier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3491779.QJadu78ljV@starbook \
    --to=andrius@stikonas.eu \
    --cc=bootstrappable@freelists.org \
    --cc=bug-mes@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=info-gnu@gnu.org \
    --cc=janneke@gnu.org \
    --cc=rb-general@lists.reproducible-builds.org \
    --cc=zimon.toutoune@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.