GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Janneke (janneke@todon.nl)'s status on Wednesday, 26-Apr-2023 23:30:38 JST Janneke Janneke
    • Free Software Foundation
    • Free Software Foundation Europe

    If you run "guix pull" today, you get a package graph of more than 22,000 nodes rooted in a 357-byte program---something that had never been achieved, to our knowledge, since the birth of Unix: a Full-Source Bootstrap.

    #GnuMes
    #bootstrappable
    #BootstrappableBuilds
    #ReproducibleBuilds
    @fsf
    @fsfe

    In conversation Wednesday, 26-Apr-2023 23:30:38 JST from todon.nl permalink

    Attachments


    1. https://todon.nl/system/media_attachments/files/110/265/427/335/485/623/original/95bce902e128b2f3.png
    • clacke likes this.
    • らりお・ザ・何らかの🈗然㊌ソムリエ, Free Software Foundation and clacke repeated this.
    • Embed this notice
      Janneke (janneke@todon.nl)'s status on Wednesday, 26-Apr-2023 23:32:21 JST Janneke Janneke
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe

      @fsf @fsfe
      And here's the blog post:

      https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/

      In conversation Wednesday, 26-Apr-2023 23:32:21 JST permalink
    • Embed this notice
      dave (dthompson@toot.cat)'s status on Sunday, 28-May-2023 14:04:57 JST dave dave
      in reply to

      @janneke holy shit I didn't know that this much progress had been made in bootstrapping. I thought we were still maybe years away from full source bootstrap. incredible work!

      In conversation Sunday, 28-May-2023 14:04:57 JST permalink
      clacke likes this.
    • Embed this notice
      Janneke (janneke@todon.nl)'s status on Sunday, 28-May-2023 14:05:01 JST Janneke Janneke
      in reply to
      • dave

      @dthompson This is currently only i686-linux and x86_64-linux.

      Work has been ongoing for ARMv7 (and AArch64) for quite some time now, but is stalled, probably until we have RISC-V.

      In conversation Sunday, 28-May-2023 14:05:01 JST permalink
      clacke likes this.
    • Embed this notice
      dave (dthompson@toot.cat)'s status on Sunday, 28-May-2023 14:05:02 JST dave dave
      in reply to

      @janneke does this work for all architectures that guix supports or a subset?

      In conversation Sunday, 28-May-2023 14:05:02 JST permalink
    • Embed this notice
      Sergey Bugaev (bugaevc@floss.social)'s status on Sunday, 28-May-2023 14:05:04 JST Sergey Bugaev Sergey Bugaev
      in reply to

      @janneke not to underpaint the importance and coolness of this achievement, here's an uninformed question that you probably get a lot: how does this work wrt to depending on a Linux kernel (which is tons of C), some basic userland (or can it run as PID 1-and-only?), and x86 hardware (which... who knows what it does) to run this 357 byte binary?

      If you can't trust a compiler to build your program correctly, why can you trust a kernel and some hardware to run your binary correctly?

      In conversation Sunday, 28-May-2023 14:05:04 JST permalink
      clacke likes this.
    • Embed this notice
      Janneke (janneke@todon.nl)'s status on Sunday, 28-May-2023 14:05:07 JST Janneke Janneke
      in reply to
      • Sergey Bugaev

      @bugaevc
      Good question! Of course: you can't.

      There is currently no good answer to that other than that we chose to start on getting rid of the obviously unnecessary and "easy" binary seeds first. Or: different people have different interests and competences, if we start then eventually we'll probably get there someday. There are some ideas, though.

      The least elegant but easiest "solution" would be to revert to Diverse Double Compliing (DDC, https://dwheeler.com/trusting-trust/). The low level tools (stage0, m2-planet, and mes) can easily do cross builds. You could build on different architectures, and kernels if you like and compare package checksums.

      We did something like this for Mes (all x86_64-linux, though) at the fifth reproducible builds conference (RB-V, https://guix.gnu.org/en/blog/2019/reproducible-builds-summit-5th-edition/)

      Running as PID 1: During the same RB-V conference, Ludovic Courtès prototyped building a Guix package in the initial ramdisk. After the build the package is discarded, but before that its checksum is printed and can be checked with a build under GNU/Linux.

      People have been working to build tiny kernels, such as: https://github.com/ironmeld/boot2now.

      Also, Stage0 was designed to also run on the Knight VM, one could imagine running that on simpler hardware, or running the VM on different machines/architectures, dunno.

      In conversation Sunday, 28-May-2023 14:05:07 JST permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: dwheeler.com
        Fully Countering Trusting Trust through Diverse Double-Compiling (DDC) - Countering Trojan Horse attacks on Compilers
        David A. Wheeler's Page on Countering 'Trusting Trust' through Diverse Double-Compiling (DDC) - Countering Trojan Horse attacks on Compilers


      clacke likes this.
    • Embed this notice
      Ludovic Courtès (civodul@toot.aquilenet.fr)'s status on Sunday, 28-May-2023 14:05:14 JST Ludovic Courtès Ludovic Courtès
      in reply to
      • Sergey Bugaev

      @bugaevc Speaking of the role of the kernel, an interesting question is how to implement isolated builds on the #Hurd—see “Isolated build environments” at https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/ for an overview.

      I’m curious what you think of this!

      @janneke

      In conversation Sunday, 28-May-2023 14:05:14 JST permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: guix.gnu.org
        Childhurds and GNU/Hurd substitutes — 2020 — Blog — GNU Guix
        Blog posts about GNU Guix.
      clacke likes this.
    • Embed this notice
      Jonathan Frederickson (jfred@jawns.club)'s status on Sunday, 28-May-2023 14:05:21 JST Jonathan Frederickson Jonathan Frederickson
      in reply to
      • Ludovic Courtès
      • Sergey Bugaev

      @civodul @bugaevc @janneke This now got me thinking... I found a Hurd post talking about how it adds POSIX compatibility to Mach: https://www.gnu.org/software/hurd/community/weblogs/ArneBab/technical-advantages-of-the-hurd.html

      And it says it still provides access to the capability-based permissions underneath, which sounds nice. But it also got me thinking: there's likely to be a lot more software targeting WASI soon, which is natively capability-based. Could it be possible for Hurd to have WASI compatibility too?

      In conversation Sunday, 28-May-2023 14:05:21 JST permalink

      Attachments


      clacke likes this.
    • Embed this notice
      Janneke (janneke@todon.nl)'s status on Sunday, 28-May-2023 14:06:55 JST Janneke Janneke
      in reply to
      • see shy jo

      @joeyh
      Thanks! Yeah, got to have some more hacking to look forward too ;)

      In conversation Sunday, 28-May-2023 14:06:55 JST permalink
      clacke likes this.
    • Embed this notice
      see shy jo (joeyh@octodon.social)'s status on Sunday, 28-May-2023 14:06:56 JST see shy jo see shy jo
      in reply to

      @janneke great accomplishment

      Needing a kernel is an important footnote though.

      In conversation Sunday, 28-May-2023 14:06:56 JST permalink
    • Embed this notice
      clacke (clacke@libranet.de)'s status on Sunday, 28-May-2023 14:08:20 JST clacke clacke
      in reply to
      I was going to ask, @janneke , how much of your time in these last several years has been funded and how much have you done on your own time?
      In conversation Sunday, 28-May-2023 14:08:20 JST permalink
    • Embed this notice
      Ludovic Courtès (civodul@toot.aquilenet.fr)'s status on Sunday, 28-May-2023 14:08:23 JST Ludovic Courtès Ludovic Courtès
      in reply to
      • Ekaitz Zarraga 👹

      @janneke It took a while to get it merged, but now we can celebrate! 🎉

      Also, great to see that #NLnet is funding the next steps, with @ekaitz_zarraga and others hard at work!

      In conversation Sunday, 28-May-2023 14:08:23 JST permalink
    • Embed this notice
      davidak (davidak@chaos.social)'s status on Sunday, 28-May-2023 14:11:46 JST davidak davidak
      in reply to
      • Ludovic Courtès

      @janneke what an impressive and historic achievement!

      I appreciate the efforts of all those involved. You have my greatest respect!

      #NixOS is also implementing it: https://github.com/NixOS/nixpkgs/pull/227914

      @civodul

      In conversation Sunday, 28-May-2023 14:11:46 JST permalink

      Attachments


      clacke likes this.
    • Embed this notice
      Janneke (janneke@todon.nl)'s status on Sunday, 28-May-2023 14:12:14 JST Janneke Janneke
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe
      • グレェ「grey」

      @byterhymer @fsf @fsfe
      For me personally (see the blog post) that would be: cleaning-up the FSB---we cut quite some corners---, getting rid of the ancient gcc-2.95.3 dependency (directly build gcc-4.6.4), getting Gash/Gash-Utils to run on top of Mes, and and RISC-V support, hopefully followed by ARM/AArch64.

      But yeah, I really hope that others will address the hardware and kernel bits of the bootstrap!

      In conversation Sunday, 28-May-2023 14:12:14 JST permalink
      clacke likes this.
    • Embed this notice
      グレェ「grey」 (byterhymer@mastodon.social)'s status on Sunday, 28-May-2023 14:12:16 JST グレェ「grey」 グレェ「grey」
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe

      @janneke @fsf @fsfe

      What next? Pairing something such as this with LiveHD (e.g. https://github.com/masc-ucsc/livehd) to bootstrap the "hardware" from source too?

      In conversation Sunday, 28-May-2023 14:12:16 JST permalink

      Attachments

      1. Domain not in remote thumbnail source whitelist: opengraph.githubassets.com
        GitHub - masc-ucsc/livehd: Live Hardware Development (LiveHD), a productive infrastructure for Synthesis and Simulation
        Live Hardware Development (LiveHD), a productive infrastructure for Synthesis and Simulation - GitHub - masc-ucsc/livehd: Live Hardware Development (LiveHD), a productive infrastructure for Synthes...
      clacke repeated this.
    • Embed this notice
      NGI Zero open source funding (ngizero@mastodon.xyz)'s status on Sunday, 28-May-2023 14:12:21 JST NGI Zero open source funding NGI Zero open source funding
      in reply to

      Wow congratulations @janneke that is truly impressive!

      In conversation Sunday, 28-May-2023 14:12:21 JST permalink
      clacke likes this.
    • Embed this notice
      jonny (good kind) (jonny@neuromatch.social)'s status on Sunday, 28-May-2023 14:12:22 JST jonny (good kind) jonny (good kind)
      in reply to

      @janneke
      @hipsterelectron this seems like something up ur alley

      In conversation Sunday, 28-May-2023 14:12:22 JST permalink
      clacke likes this.
    • Embed this notice
      Maltimore (maltimore@social.tchncs.de)'s status on Sunday, 28-May-2023 14:15:01 JST Maltimore Maltimore
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe

      @janneke @fsf @fsfe

      What I don't understand: such a bootstrap must've been done at least once before in history, otherwise we wouldn't have any compiled programs, right? Why wasn't it possible to go the route of the previous bootstrap again? I'd appreciate a link to some further reading on this. 🙏

      In conversation Sunday, 28-May-2023 14:15:01 JST permalink
      clacke likes this.
    • Embed this notice
      Janneke (janneke@todon.nl)'s status on Sunday, 28-May-2023 14:15:05 JST Janneke Janneke
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe
      • Maltimore

      @maltimore @fsf @fsfe
      Some reasons for this include: The process wasn't documented, the code was lost, used many different hardwares, it took about 50 years, untangling history is _hard_.

      For that last remark, just look at the Java or Rust bootstraps (they needed _many_, _many_ steps) or the sheer impossibility to bootstrap the NPM/Node distaster.

      In conversation Sunday, 28-May-2023 14:15:05 JST permalink
      clacke likes this.
    • Embed this notice
      Andrius Štikonas (stikonas@fosstodon.org)'s status on Sunday, 28-May-2023 14:15:06 JST Andrius Štikonas Andrius Štikonas
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe
      • Maltimore

      @janneke @maltimore @fsf @fsfe Also historical bootstrap might have used proprietary programs, so even historical bootstrap documentation might not help.

      In conversation Sunday, 28-May-2023 14:15:06 JST permalink
      clacke likes this.
    • Embed this notice
      Janneke (janneke@todon.nl)'s status on Sunday, 28-May-2023 14:37:41 JST Janneke Janneke
      in reply to
      • clacke

      @clacke
      I'd like to think that I'm well funded which enablse me to do things that are important and fun.
      I'd also like to think that all my time is my own; technically my current Hurd work isn't funded, but that's how Mes started off too, so yeah.

      In conversation Sunday, 28-May-2023 14:37:41 JST permalink
      clacke likes this.
    • Embed this notice
      Andrius Štikonas (stikonas@fosstodon.org)'s status on Tuesday, 05-Mar-2024 00:43:09 JST Andrius Štikonas Andrius Štikonas
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe
      • Ekaitz Zarraga 👹
      • Reproducible Builds
      • Amirouche

      @janneke @aziz @fsf @fsfe @reproducible_builds @ekaitz_zarraga Indeed! Right now we can bootstrap all the way from #hex0 to #Mes, then use #MesCC to build very first build of #tinycc (we can call it mes-tcc). mes-tcc can then build the next build of tinycc (boot0-tcc). Unfortunately, at the moment boot0-tcc segfaults. Today, I fixed one crash which was due to Global Offset Table being all zeros but it turns out we are now hitting another segfault, so more work is needed.

      #bootstrappableBuilds

      In conversation about a year ago permalink
      clacke likes this.
    • Embed this notice
      Janneke (janneke@todon.nl)'s status on Tuesday, 05-Mar-2024 00:43:10 JST Janneke Janneke
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe
      • Ekaitz Zarraga 👹
      • Reproducible Builds
      • Andrius Štikonas
      • Amirouche

      @aziz @fsf @fsfe @reproducible_builds
      Thank you! We (well, mostly @ekaitz_zarraga and @stikonas) are getting very close to bootstrapping tinycc on riscv64. Exciting times ahead!

      In conversation about a year ago permalink
    • Embed this notice
      Amirouche (aziz@functional.cafe)'s status on Tuesday, 05-Mar-2024 00:43:11 JST Amirouche Amirouche
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe
      • Reproducible Builds

      @janneke @fsf @fsfe @reproducible_builds very inspiring very happy best wishes

      In conversation about a year ago permalink
    • Embed this notice
      Janneke (janneke@todon.nl)'s status on Tuesday, 05-Mar-2024 06:36:37 JST Janneke Janneke
      in reply to
      • Free Software Foundation
      • Free Software Foundation Europe
      • Maltimore
      • Andrius Štikonas

      @stikonas @maltimore @fsf @fsfe
      When I said "source code was lost" I didn't even think of this, but you're right: GNU's not Unix!

      In conversation about a year ago permalink
      clacke likes this.

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.