Message ID | 20220502182105.32068-1-janneke@gnu.org |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7C20A27BBEA; Mon, 2 May 2022 19:22:10 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 3ACB127BBE9 for <patchwork@mira.cbaines.net>; Mon, 2 May 2022 19:22:10 +0100 (BST) Received: from localhost ([::1]:46488 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org>) id 1nlagT-0004cv-DE for patchwork@mira.cbaines.net; Mon, 02 May 2022 14:22:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38086) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1nlagM-0004ck-JG for guix-patches@gnu.org; Mon, 02 May 2022 14:22:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:44056) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1nlagM-0000km-9x for guix-patches@gnu.org; Mon, 02 May 2022 14:22:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1nlagM-00037l-3U for guix-patches@gnu.org; Mon, 02 May 2022 14:22:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#55227] [PATCH core-updates 0/8] The Full Source Bootstrap Resent-From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 02 May 2022 18:22:01 +0000 Resent-Message-ID: <handler.55227.B.165151567011935@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 55227 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 55227@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.165151567011935 (code B ref -1); Mon, 02 May 2022 18:22:01 +0000 Received: (at submit) by debbugs.gnu.org; 2 May 2022 18:21:10 +0000 Received: from localhost ([127.0.0.1]:37953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1nlafW-00036Q-L6 for submit@debbugs.gnu.org; Mon, 02 May 2022 14:21:10 -0400 Received: from lists.gnu.org ([209.51.188.17]:55546) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <janneke@gnu.org>) id 1nlafV-00036I-M6 for submit@debbugs.gnu.org; Mon, 02 May 2022 14:21:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:38054) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <janneke@gnu.org>) id 1nlafV-0004ZA-Gu for guix-patches@gnu.org; Mon, 02 May 2022 14:21:09 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:33810) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <janneke@gnu.org>) id 1nlafU-0000dH-Mk; Mon, 02 May 2022 14:21:08 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:Subject:To:From:in-reply-to: references; bh=RbBIZ7O1y7ANWhbIxJhVEX86keHSQu/RPMs9fszhebQ=; b=jHaLRJeBaPY0uv GVM1HeB+T34qitXga4MwSDU/tigtXqNab+/ATOrMSQwwLeXmDDHTnXOfywNPf8lGo1S3PG8PfiovG zp8Bn6zNQ13vzcktG8Y2e2OzAyy8fYGauXgg5QI8zOymldEBp+wI6B68OmPHTbTGaNRgxPEeFocoH jsPKV5ELZaE8QNMDVmosl68djRGdKauHWrfsRQu3Pb85nC7UR8CYTzPjPgUujCVXG4IWj2OZB5YUP hXKtxpPM620b5C7RMY0pcS80wZ/A8Np5I/k/LYvkGEKeF4YQ0OtzGwtLMr/zOcqZQrX1EhvljZa1O STBjer0brFkZQi35QJAg==; Received: from 2a02-a462-da03-1-fa3e-1174-c33f-9485.fixed6.kpn.net ([2a02:a462:da03:1:fa3e:1174:c33f:9485]:48260 helo=drakenbij.fritz.box) by fencepost.gnu.org with esmtpa (Exim 4.90_1) (envelope-from <janneke@gnu.org>) id 1nlafU-00061H-AQ; Mon, 02 May 2022 14:21:08 -0400 From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> Date: Mon, 2 May 2022 20:21:05 +0200 Message-Id: <20220502182105.32068-1-janneke@gnu.org> X-Mailer: git-send-email 2.35.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-getmail-retrieved-from-mailbox: Patches |
Series |
The Full Source Bootstrap
|
|
Message
Janneke Nieuwenhuizen
May 2, 2022, 6:21 p.m. UTC
About a year ago we cheered something like: WE DID IT!!! Today I am very excited to finally have released GNU Mes 0.24 which supports the Full Source Bootstrap. So we did what? As Carl Dong once so eloquently put it The holy grail of bootstrappability will be connecting mes to hex0 which is exactly what this patch series brings. Starting from an 357-byte hex0 provided by the new bootstrap-seeds package, the new stage0-posix package builds hex0, kaem, hex1, catm, hex2, M0, cc_x86, M1, M2, get_machine, (mescc-tools), and M2-Planet. The 0.24 release of Mes can now be built using this M2-Planet. This means that the bootstrap binaries that were added as part of the Reduced Binary Seed Bootstrap (see https://guix.gnu.org/blog/2020/guix-further-reduces-bootstrap-seed-to-25): %bootstrap-mescc-tools, %bootstrap-mes, are now removed again. Greetings, Janneke Jan (janneke) Nieuwenhuizen (8): commencement: Add bootstrap-seeds. commencement: Add stage0-posix. commencement: mes-boot: Update to 0.24, build with M2-Planet. commencement: tcc-boot0: Use NYACC-1.00.2. commencement: tcc-boot0: Update to 0.9.26-1136-g0fbeb2dd. bootstrap: Remove %bootstrap-mescc-tools, %bootstrap-mes. commencement: Remove %bootstrap-mes-rewired. doc: Add the "Full Source Bootstrap". doc/guix.texi | 77 +++--- doc/images/gcc-core-mesboot0-graph.dot | 187 ++++++------- gnu/packages/bootstrap.scm | 4 +- gnu/packages/commencement.scm | 355 ++++++++++++++----------- 4 files changed, 315 insertions(+), 308 deletions(-)
Comments
Hello! "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> skribis: > About a year ago we cheered something like: WE DID IT!!! > > Today I am very excited to finally have released GNU Mes 0.24 which supports > the Full Source Bootstrap. So we did what? As Carl Dong once so eloquently > put it > > The holy grail of bootstrappability will be connecting mes to hex0 > > which is exactly what this patch series brings. Woohoo!! Truly amazing. I just can’t believe it’s become a reality! > Starting from an 357-byte hex0 provided by the new bootstrap-seeds package, > the new stage0-posix package builds hex0, kaem, hex1, catm, hex2, M0, cc_x86, > M1, M2, get_machine, (mescc-tools), and M2-Planet. The 0.24 release of Mes > can now be built using this M2-Planet. > > This means that the bootstrap binaries that were added as part of the Reduced > Binary Seed Bootstrap (see > https://guix.gnu.org/blog/2020/guix-further-reduces-bootstrap-seed-to-25): > %bootstrap-mescc-tools, %bootstrap-mes, are now removed again. Yay! (And we’ll need a new blog post once that’s merged!) > commencement: Add bootstrap-seeds. > commencement: Add stage0-posix. > commencement: mes-boot: Update to 0.24, build with M2-Planet. > commencement: tcc-boot0: Use NYACC-1.00.2. > commencement: tcc-boot0: Update to 0.9.26-1136-g0fbeb2dd. > bootstrap: Remove %bootstrap-mescc-tools, %bootstrap-mes. > commencement: Remove %bootstrap-mes-rewired. > doc: Add the "Full Source Bootstrap". I haven’t checked but if you confirm that ‘guix build coreutils’ or similar passes (and that the output of ‘guix build coreutils -s powerpc64le -d’, for example, is unaffected), this can go on ‘core-updates’. Please add “gnu:” as a prefix to the commit log of patches that modify gnu/packages/*. > 4 files changed, 315 insertions(+), 308 deletions(-) And on top of that, it comes almost for free in terms of lines of code on our side. :-) One last thing: *thank you*. Thank you for bringing it to completion, for never giving up in the face of a mountain of challenges of all sorts; thank you for inspiring us! Ludo’.
Ludovic Courtès writes: Hello! > "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> skribis: > >> About a year ago we cheered something like: WE DID IT!!! >> >> Today I am very excited to finally have released GNU Mes 0.24 which supports >> the Full Source Bootstrap. So we did what? As Carl Dong once so eloquently >> put it >> >> The holy grail of bootstrappability will be connecting mes to hex0 >> >> which is exactly what this patch series brings. > > Woohoo!! Truly amazing. I just can’t believe it’s become a reality! My thoughts exactly, and very nice to hear you say it too! >> Starting from an 357-byte hex0 provided by the new bootstrap-seeds package, >> the new stage0-posix package builds hex0, kaem, hex1, catm, hex2, M0, cc_x86, >> M1, M2, get_machine, (mescc-tools), and M2-Planet. The 0.24 release of Mes >> can now be built using this M2-Planet. >> >> This means that the bootstrap binaries that were added as part of the Reduced >> Binary Seed Bootstrap (see >> https://guix.gnu.org/blog/2020/guix-further-reduces-bootstrap-seed-to-25): >> %bootstrap-mescc-tools, %bootstrap-mes, are now removed again. > > Yay! (And we’ll need a new blog post once that’s merged!) Sure! > I haven’t checked but if you confirm that ‘guix build coreutils’ or > similar passes Re-confirming this now, "already" up to... building /gnu/store/1kj9y2qkd7nc7jhyfa0ywqkbmbv4a8ki-gcc-mesboot-4.9.4.drv... > (and that the output of ‘guix build coreutils -s powerpc64le -d’, for > example, is unaffected), Ah that's a nice trick. No changes! $ ./pre-inst-env guix build coreutils -s powerpc64le-linux -d /gnu/store/rsg7k7rih8giz2a3gbd281ygzixzg5yn-coreutils-8.32.drv > this can go on ‘core-updates’. OK. I have reset wip-full-source-bootstrap and will send a v3 patch series. We probably want to think about/change the actual mirror spell "mirror://gnu/guix/mirror/" (?) to use (see other mails). > Please add “gnu:” as a prefix to the commit log of patches that modify > gnu/packages/*. Done. >> 4 files changed, 315 insertions(+), 308 deletions(-) > > And on top of that, it comes almost for free in terms of lines of code > on our side. :-) Yeah, what a bonus. The thing is that stage0-posix includes mescc-tools and m2-planet; we were expecting at least two extra packages... > One last thing: *thank you*. Thank you for bringing it to completion, > for never giving up in the face of a mountain of challenges of all > sorts; thank you for inspiring us! Thats really great to hear, it means a lot to me. I'm very grateful for all your support in this journey and for Guix, that presented me with a beautiful piece of code to play with and prototype the bootstraps. And also, many thanks for the opportunity to stepwise introduce these changes. Time to start thinking about the next big step for bootstrappable! Greetings, Janneke
Hi Jan, "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> writes: > About a year ago we cheered something like: WE DID IT!!! > > Today I am very excited to finally have released GNU Mes 0.24 which supports > the Full Source Bootstrap. So we did what? As Carl Dong once so eloquently > put it > > The holy grail of bootstrappability will be connecting mes to hex0 > > which is exactly what this patch series brings. > > Starting from an 357-byte hex0 provided by the new bootstrap-seeds package, > the new stage0-posix package builds hex0, kaem, hex1, catm, hex2, M0, cc_x86, > M1, M2, get_machine, (mescc-tools), and M2-Planet. The 0.24 release of Mes > can now be built using this M2-Planet. > > This means that the bootstrap binaries that were added as part of the Reduced > Binary Seed Bootstrap (see > https://guix.gnu.org/blog/2020/guix-further-reduces-bootstrap-seed-to-25): > %bootstrap-mescc-tools, %bootstrap-mes, are now removed again. > > Greetings, > Janneke > > > Jan (janneke) Nieuwenhuizen (8): > commencement: Add bootstrap-seeds. > commencement: Add stage0-posix. > commencement: mes-boot: Update to 0.24, build with M2-Planet. > commencement: tcc-boot0: Use NYACC-1.00.2. > commencement: tcc-boot0: Update to 0.9.26-1136-g0fbeb2dd. > bootstrap: Remove %bootstrap-mescc-tools, %bootstrap-mes. > commencement: Remove %bootstrap-mes-rewired. > doc: Add the "Full Source Bootstrap". Woohoo! Thank you for dedicating lots of your energy to this noble cause! :-) I'll try to enjoy the finer details when I have a chance but... a blog post could be nice to shine a light on this amazing achievement! Thank you, and happy continuation! Maxim
Maxim Cournoyer writes: Hello Maxim, > "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org> writes: > >> About a year ago we cheered something like: WE DID IT!!! [..] >> commencement: Add bootstrap-seeds. >> commencement: Add stage0-posix. >> commencement: mes-boot: Update to 0.24, build with M2-Planet. >> commencement: tcc-boot0: Use NYACC-1.00.2. >> commencement: tcc-boot0: Update to 0.9.26-1136-g0fbeb2dd. >> bootstrap: Remove %bootstrap-mescc-tools, %bootstrap-mes. >> commencement: Remove %bootstrap-mes-rewired. >> doc: Add the "Full Source Bootstrap". > > Woohoo! Thank you for dedicating lots of your energy to this noble > cause! :-) I'll try to enjoy the finer details when I have a chance > but... a blog post could be nice to shine a light on this amazing > achievement! Thanks for your appreciation, that means a lot to me! It's been quite some work and also a lot of fun, most of the time ;). And it feels very good when the work is so welcomed. I am grateful for having the opportunity to work on this, and Guix makes it so easy! There will definately be a blog-post; I have already started to work on it. I think it's probably best to time it after core-utils has been merged into master, when "guix pull; guix system init .." actually installs a system built from 357 bytes. > Thank you, and happy continuation! Very welcome, thanks, Janneke