all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Ricardo Wurmus <rekado@elephly.net>
To: Jan Nieuwenhuizen <janneke@gnu.org>
Cc: guix-devel@gnu.org
Subject: Re: bootstrap: i686-linux now builds without binutils, gcc seeds
Date: Mon, 17 Sep 2018 23:55:02 +0200	[thread overview]
Message-ID: <87pnxb4wnd.fsf@elephly.net> (raw)
In-Reply-To: <8736u752k6.fsf@gnu.org>


Hi janneke!

> I have added this text to wip-bootstrap, image not shown inline here,
> WDYT?
[…]
> +@node Reduced Binary Seed Bootstrap
> +@section The Reduced Binary Seed Bootstrap
> +
> +Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
> +from a set of bootstrap binaries: Bourne shell, command-line tools provided by

    ^— this is an extra “from”.

> +GNU Coreutils, Awk, Findutils, `sed', and `grep' and Guile, GCC, Binutils, and
> +the GNU C Library (@pxref{Bootstrapping}).  Usually, these bootstrap-binaries

“bootstrap binaries”

> +are ``taken for granted.''
> +
> +What does this mean, really?  By taking these binaries for granted, trusting
> +Guix depends on the trusting these binaries to be correct and clean.  Therein

How about this instead of the second sentence:

“Taking these binaries for granted means that we consider them to be a
correct and trustworthy ‘seed’ for building the complete system.”

> +lies a problem: the current combined size of these bootstrap-binaries is about

“bootstrap binaries”

> +250MB (@pxref{Bootstrappable Builds,,, mes, Mes Reference Manual}).  Auditing
> +or even inspecting these is next to impossible.
> +
> +For @code{i686-linux}, Guix now features a ``Reduced Binary Seed'' bootstrap
> +@footnote{We would like to say: ``Full Source Bootstrap'' and while we are
> +working towards that it would be a hyperbole to use that term for what we do
> +now.}.

“would be hyperbole” (no “a”)

> +The Reduced Binary Seed bootstrap removes the most critical tools---from a
> +trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
> +Library are replaced by: @code{mescc-tools-seed} (a tiny assembler and linker)
> +@code{mes-seed} (a small Scheme Interpreter and a C compiler writen in Scheme)
> +and @code{tinycc-seed} (the Mes C Library, built for TinyCC).  Using these new
> +binary seeds and a new set of
> +@c
> +package descriptions@footnote{@c

I’d remove “descriptions”.

> +mescc-tools-boot,
> +nyacc-boot,
> +mes-boot,
> +tcc-boot0,
> +tcc-boot,
> +make-mesboot0,
> +diffutils-mesboot,
> +binutils-mesboot0,
> +gcc-core-mesboot,
> +mesboot-headers,
> +glibc-mesboot0,
> +gcc-mesboot0,
> +binutils-mesboot,
> +make-mesboot,
> +gcc-mesboot1,
> +gcc-mesboot1-wrapper,
> +glibc-headers-mesboot,
> +glibc-mesboot,
> +gcc-mesboot,

+ “and”

> +gcc-mesboot-wrapper.
> +}
> +@c
> +the ``missing'' Binutils, and the GNU C Library are built, from source.  From

“, from source” –> “ from source”.

> +here on the more traditional bootstrap process resumes.  This approach has
> +reduced the bootstrap binaries in size to about 130MB.  Work is ongoing to
> +reduce this further.  If you are interested, join us on @code{#boottrappable}

typo: #bootstrappable

> +on the Freenode IRC network.
> +
> +@c ./pre-inst-env guix graph --type=bag -e '(begin (use-modules (guix packages)) (%current-system "i686-linux") (@@ (gnu packages commencement) gcc-mesboot))' > doc/images/gcc-mesboot-bag-graph.dot
> +@c dot -T png doc/images/gcc-mesboot-bag-graph.dot > doc/images/gcc-mesboot-bag-graph.png
> +
> +Below is the generated dependency graph to for @code{gcc-mesboot} that builds
> +the rest of GuixSD.

“to for” –> “for”

How about this:

  Below is the generated dependency graph for @code{gcc-mesboot}, the
  bootstrap compiler used to build the rest of GuixSD.

>>   • I think all the “mesboot” & co. packages in commencement.scam can be
>>     made private–i.e., changing ‘define-public’ to ‘define’.
>
> I agree; I kept gcc-mesboot (the final gcc) public, is that OK?

If it isn’t referenced by other modules and would not be installed by
users I think it doesn’t need to be public, but I think either way is
fine.

Thanks!

--
Ricardo

  reply	other threads:[~2018-09-17 21:55 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-31 16:31 bootstrap: i686-linux now builds without binutils, gcc seeds Jan Nieuwenhuizen
2018-09-01 18:16 ` Gábor Boskovits
2018-09-02  5:21   ` Jan Nieuwenhuizen
2018-09-16 19:24 ` Ludovic Courtès
2018-09-17  6:10   ` Pjotr Prins
2018-09-17 18:29   ` Ricardo Wurmus
2018-09-17 19:25     ` Jan Nieuwenhuizen
2018-09-17 19:47   ` Jan Nieuwenhuizen
2018-09-17 21:55     ` Ricardo Wurmus [this message]
2018-09-18  8:27       ` Jan Nieuwenhuizen
2018-09-18  8:04     ` Vincent Legoll
2018-09-18  8:33       ` Jan Nieuwenhuizen
2018-09-18 20:53     ` Jan Nieuwenhuizen
2018-09-19  5:07       ` Jan Nieuwenhuizen
2018-09-19 18:07         ` Jan Nieuwenhuizen
2018-09-22 12:35           ` Ludovic Courtès
2018-09-22 15:34             ` Jan Nieuwenhuizen
2018-09-22 18:23               ` Jan Nieuwenhuizen
2018-09-23  8:02                 ` branched core-updates-next [WAS: Re: bootstrap: i686-linux now builds without binutils, gcc seeds] Jan Nieuwenhuizen
2018-09-23 16:09               ` bootstrap: i686-linux now builds without binutils, gcc seeds Joshua Branson
2018-09-23 16:29                 ` Jonathan Brielmaier
2018-09-22 12:23     ` Ludovic Courtès
2018-09-22 14:38       ` Jan Nieuwenhuizen

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=87pnxb4wnd.fsf@elephly.net \
    --to=rekado@elephly.net \
    --cc=guix-devel@gnu.org \
    --cc=janneke@gnu.org \
    /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.