home.social

#bootstrappable — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #bootstrappable, aggregated by home.social.

fetched live
  1. Had a most lovely---almost 2h---video chat session with @ekaitz_zarraga and Timothy Sample (GNU Mes contributor and author of Germ) on the workings of Ekaitz' rewrite of Mes from a Scheme interpreter to a compiler.

    AIUI, Guile Scheme has some interesting characteristics that prevent the Mes compiler from using some simple and low hanging fruit performance improvements. Sorry for being vague, Ekaitz can elaborate.

    Wondering if these are also "slowing down" Guile so much---and if not, why not?---and if anything could be done about that.

    #GNU
    #Guile
    #Guix
    #Mes
    #bootstrappable
    #fullSourceBootstrap
    @civodul
    @wingo
    @reproducible_builds
    @nlnet
    @guix

  2. Had a most lovely---almost 2h---video chat session with @ekaitz_zarraga and Timothy Sample (GNU Mes contributor and author of Germ) on the workings of Ekaitz' rewrite of Mes from a Scheme interpreter to a compiler.

    AIUI, Guile Scheme has some interesting characteristics that prevent the Mes compiler from using some simple and low hanging fruit performance improvements. Sorry for being vague, Ekaitz can elaborate.

    Wondering if these are also "slowing down" Guile so much---and if not, why not?---and if anything could be done about that.

    #GNU
    #Guile
    #Guix
    #Mes
    #bootstrappable
    #fullSourceBootstrap
    @civodul
    @wingo
    @reproducible_builds
    @nlnet
    @guix

  3. I take that back, a (ideally #bootstrappable) #reproducible declaratively defined OS distribution like #guix is the best means to maintain a global perspective of your OS. But unless you are a minimal uptime warrior that keeps everything in a /tmp-like directory that is flushed on shutdown, you still need email to keep track with whats going on! (and you can't convince me that setting up prometheus compares to working directly with the plumbing! at least for monolithic desktop user systems)

  4. I take that back, a (ideally #bootstrappable) #reproducible declaratively defined OS distribution like #guix is the best means to maintain a global perspective of your OS. But unless you are a minimal uptime warrior that keeps everything in a /tmp-like directory that is flushed on shutdown, you still need email to keep track with whats going on! (and you can't convince me that setting up prometheus compares to working directly with the plumbing! at least for monolithic desktop user systems)

  5. @khinsen @pjotrprins @zimoun
    The concept of bootstrappability, the hard felt importance to be able to build (and bootstrap) your binaries from source, could help with that (think #supplychainsecurity )

    Our #bootstrappable movement is slowly growing, sadly its still quite small.
    Cc: @reproducible_builds

  6. @khinsen @pjotrprins @zimoun
    The concept of bootstrappability, the hard felt importance to be able to build (and bootstrap) your binaries from source, could help with that (think #supplychainsecurity )

    Our #bootstrappable movement is slowly growing, sadly its still quite small.
    Cc: @reproducible_builds

  7. #GNU Mes 0.27.1 released: A bug-fix release that supports

    * development build with gcc-14
    * building with M2-Planet 1.12.0
    * building on x86-linux with M2-Planet 1.13.0
    * building bootstrappable-tcc using 1.00.02 <= NYACC <= 2.02.2

    <lists.gnu.org/archive/html/inf>

    Thanks to @ekaitz_zarraga and @stikonas!

    #GnuMes
    #bootstrappable
    #BootstrappableBuilds
    #ReproducibleBuilds
    @reproducible_builds
    @fsf
    @fsfe
    @gnutools
    @nlnet

  8. #GNU Mes 0.27.1 released: A bug-fix release that supports

    * development build with gcc-14
    * building with M2-Planet 1.12.0
    * building on x86-linux with M2-Planet 1.13.0
    * building bootstrappable-tcc using 1.00.02 <= NYACC <= 2.02.2

    <lists.gnu.org/archive/html/inf>

    Thanks to @ekaitz_zarraga and @stikonas!

    #GnuMes
    #bootstrappable
    #BootstrappableBuilds
    #ReproducibleBuilds
    @reproducible_builds
    @fsf
    @fsfe
    @gnutools
    @nlnet

  9. @aemogie @marmar22 it triggered me to read it and it's pretty detailed indeed. What I miss most is the #bootstrappable effort that #Guix started and implemented, or maybe a broader list of values that would set Guix apart.

  10. @aemogie @marmar22 it triggered me to read it and it's pretty detailed indeed. What I miss most is the #bootstrappable effort that #Guix started and implemented, or maybe a broader list of values that would set Guix apart.

  11. Good and bad #bootstrapping and #lisp news.
    Timothy Sample has been exploring to write a #bootstrappable syntax-case implementation (the first?) and using GNU Mes to prototype that, sponsored by @nlnet .

    Sadly, it didn't perform and #NLnet apparently didn't choose to extend his grant. (Boo!)

    Edit: I was contacted by NLnet and they convinced me that they never denied such an extension (or new grant) proposal.
    So...that's probably double sad...this seems to have been a most classical communication problem (seen Black Mirror S07E05?).

    Edit: Also, the "Boo!" was primarily directed at the possibility of the EU retracting funding, NLnet is doing very important work, and amazingly so.

    Anyway, Timothy is now writing another bootstrappable lisp implementation: Germ. It's still pretty early days but it's looking great. So happy with this!

    ngyro.com/blog/introducing-ger

  12. Good and bad #bootstrapping and #lisp news.
    Timothy Sample has been exploring to write a #bootstrappable syntax-case implementation (the first?) and using GNU Mes to prototype that, sponsored by @nlnet .

    Sadly, it didn't perform and #NLnet apparently didn't choose to extend his grant. (Boo!)

    Edit: I was contacted by NLnet and they convinced me that they never denied such an extension (or new grant) proposal.
    So...that's probably double sad...this seems to have been a most classical communication problem (seen Black Mirror S07E05?).

    Edit: Also, the "Boo!" was primarily directed at the possibility of the EU retracting funding, NLnet is doing very important work, and amazingly so.

    Anyway, Timothy is now writing another bootstrappable lisp implementation: Germ. It's still pretty early days but it's looking great. So happy with this!

    ngyro.com/blog/introducing-ger

  13. gccrs: An alternative compiler for Rust relying on GNU Compiler Collection (GCC)

    « Maybe more importantly however, there is a number of things that gccrs is NOT for. The project has multiple explicit non-goals, which we value just as highly as our goals. »

    Missing the goal of a better #bootstrappable Rust, no?

    Currently more or less a long chain…

    guix.gnu.org/en/blog/2018/boot

    blog.rust-lang.org/2024/11/07/

  14. Wanted to share that [Stageˣ] is now full source bootstrapped, 100% reproducible, signed by 2-3 independent reviewers/reproducers on every release, and can build itself.

    It can be the base of reproducible build containers for most projects written in c, c++, nodejs, go, php, ocaml, rust, or zig.

    I am thankful for the efforts of our team, and the patient advice and tireless debugging of people in the #reproducible-builds and #bootstrappable projects <3

    codeberg.org/stagex/stagex

  15. Wanted to share that [Stageˣ] is now full source bootstrapped, 100% reproducible, signed by 2-3 independent reviewers/reproducers on every release, and can build itself.

    It can be the base of reproducible build containers for most projects written in c, c++, nodejs, go, php, ocaml, rust, or zig.

    I am thankful for the efforts of our team, and the patient advice and tireless debugging of people in the #reproducible-builds and #bootstrappable projects <3

    codeberg.org/stagex/stagex

  16. @mgorny since you complained about source code containing time bombs the other day, and I couldn't believe anyone sane would do that, here's openjdk9 refusing to compile because of "outdated" currency data (I'm trying to bootstrap ).

  17. @mgorny since you complained about source code containing time bombs the other day, and I couldn't believe anyone sane would do that, here's openjdk9 refusing to compile because of "outdated" currency data (I'm trying to bootstrap #java ).

    #bootstrappable #compilation #software

  18. I think it just makes no sense to, at some arbitrary level, say: "Listen, we're not going to build this package from source, because: 'Well, we actually don't have any good reason for it but we just won't.'"

    #bootstrappable
    #bootstrappability
    #bootstrappableBuilds
    #freeSoftware

  19. I think it just makes no sense to, at some arbitrary level, say: "Listen, we're not going to build this package from source, because: 'Well, we actually don't have any good reason for it but we just won't.'"

    #bootstrappable
    #bootstrappability
    #bootstrappableBuilds
    #freeSoftware

  20. @zimoun @simon
    Also, check whether it can be bootstrapped. If it can't, it would render your package non-#bootstrappable. Make sure that including it won't create a cyclic dependency.
    Same for reproducibility.

  21. @zimoun @simon
    Also, check whether it can be bootstrapped. If it can't, it would render your package non-#bootstrappable. Make sure that including it won't create a cyclic dependency.
    Same for reproducibility.

  22. @UweHalfHand @avp
    Great! Enjoy your Sunday and especially the birthday party (congrats)!
    Don't hesitate to join our IRC if you're at all into that; #bootstrappable @ libera.chat!

  23. @UweHalfHand @avp
    Great! Enjoy your Sunday and especially the birthday party (congrats)!
    Don't hesitate to join our IRC if you're at all into that; #bootstrappable @ libera.chat!

  24. #GNU Mes 0.26 released: With greatly enhanced #Guile compatibility, Guile-style modules, and supporting Gash and Gash-Utils.

    lists.gnu.org/archive/html/inf

    Thanks to the amazing work of Timothy Sample (and myself :)

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

  25. #GNU Mes 0.26 released: With greatly enhanced #Guile compatibility, Guile-style modules, and supporting Gash and Gash-Utils.

    lists.gnu.org/archive/html/inf

    Thanks to the amazing work of Timothy Sample (and myself :)

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

  26. Actually existing 《 #BareMetal coding 》be like:

    Copyright (C) 2016 Jeremiah Orians
    This file is part of #stage0

    stage0 is free software: you can redistribute it and/or modify. It under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. stage0 is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

    ## ELF Header
    7F 45 4C 46
    02
    01
    01
    03
    00
    00 00 00 00 00 00 00
    02 00
    3E 00
    01 00 00 00
    FB 00 60 00 00 00 00 00
    40 00 00 00 00 00 00 00
    00 00 00 00 00 00 00 00
    00 00 00 00
    40 00
    38 00
    01 00
    00 00
    00 00
    00 00

    ## Program header table
    01 00 00 00
    07 00 00 00
    00 00 00 00 00 00 00 00
    00 00 60 00 00 00 00 00
    00 00 00 00 00 00 00 00
    9B 01 00 00 00 00 00 00
    9B 01 00 00 00 00 00 00
    00 00 20 00 00 00 00 00

    ## Hex
    48 83 f8 23
    74 26
    48 83 f8 30
    7c 6f
    48 83 f8 3a
    7c 5a
    48 83 f8 41
    7c 63
    48 83 f8 47
    7c 58
    48 83 f8 61
    7c 57
    48 83 f8 67
    7c 47
    eb 4f

    ## Purge Comment
    48 c7 c2 01 00 00 00
    48 c7 c6 99 01 60 00
    48 c7 c7 00 00 00 00
    48 c7 c0 00 00 00 00
    0f 05
    48 85 c0
    0f 84 be 00 00 00
    8a 04 25 99 01 60 00
    48 0f b6 c0
    48 83 f8 0a
    75 c8
    48 c7 c0 ff ff ff ff
    c3

    ## ascii num
    48 83 e8 30
    c3

    ## ascii low
    48 83 e8 57
    c3

    ## ascii high
    48 83 e8 37
    c3

    ## ascii other
    48 c7 c0 ff ff ff ff
    c3

    ## start
    49 c7 c7 ff ff ff ff
    49 c7 c6 00 00 00 00

    ## Loop
    48 c7 c2 01 00 00 00
    48 c7 c6 99 01 60 00
    48 c7 c7 00 00 00 00
    48 c7 c0 00 00 00 00
    0f 05
    48 85 c0
    74 5d
    8a 04 25 99 01 60 00
    48 0f b6 c0
    e8 3c ff ff ff
    48 83 f8 00
    7c c7
    49 83 ff 00
    7d 0c
    49 89 c6
    49 c7 c7 00 00 00 00
    eb b5

    ## print
    49 c1 e6 04
    4c 01 f0
    88 04 25 9a 01 60 00
    49 c7 c7 ff ff ff ff
    48 c7 c2 01 00 00 00
    48 c7 c6 9a 01 60 00
    48 c7 c7 01 00 00 00
    48 c7 c0 01 00 00 00
    0f 05
    eb 80

    ## Done
    48 c7 c7 00 00 00 00
    48 c7 c0 3c 00 00 00
    0f 05

    ## Place for input, This actually isn't required but here it is
    02 00 00

    #hex0 #mes #guix #bootstrappable #gnu

    savannah.nongnu.org/cvs/?group

  27. @lxo
    Right; if the program cannot be (easily) built, script or build-system-wise, it cannot be copylefted.

    Without a new "freedom 4" (the freedom to build/bootstrap a program and re-create it bit-for-bit using free software) it would still be OK to require build dependencies that themselves cannot be built (or only by injecting pre-built binaries that cannot be verified to have been built exclusively with free software) and copyleft the program.

    I think this is very bad and is already undermining software freedom today.
    @reproducible_builds
    #Bootstrappable

  28. @lxo
    Right; if the program cannot be (easily) built, script or build-system-wise, it cannot be copylefted.

    Without a new "freedom 4" (the freedom to build/bootstrap a program and re-create it bit-for-bit using free software) it would still be OK to require build dependencies that themselves cannot be built (or only by injecting pre-built binaries that cannot be verified to have been built exclusively with free software) and copyleft the program.

    I think this is very bad and is already undermining software freedom today.
    @reproducible_builds
    #Bootstrappable

  29. @amszmidt
    That's right, they do not help: they're essential!

    Without Reproducible builds and Bootstrappable builds, free software, and certainly software freedom, is an illusion at best.

    Re: Trusting Trust, see for example the excellent talk by @vagrantc

    archive.org/details/fossy2023_

    #RebproducibleBuilds
    #Bootstrappable
    #BootstrappableBuilds

  30. @amszmidt
    That's right, they do not help: they're essential!

    Without Reproducible builds and Bootstrappable builds, free software, and certainly software freedom, is an illusion at best.

    Re: Trusting Trust, see for example the excellent talk by @vagrantc

    archive.org/details/fossy2023_

    #RebproducibleBuilds
    #Bootstrappable
    #BootstrappableBuilds

  31. @monk @trofi @emilyposting
    Great talk!
    Very interesting to see what may come out of all this.
    #bootstrappable
    #nixos

  32. @monk @trofi @emilyposting
    Great talk!
    Very interesting to see what may come out of all this.
    #bootstrappable
    #nixos

  33. Spent part of my at looking at bootstrapping 0.9.26 from on architecture. And thanks to mantainer @janneke for his help with debugging various issues. We can now build initial binary and it can even run some simple commands such as --help or -vv.

    Unfortunately, we still hit some critical bugs when trying to use this tcc binary to rebuild itself but hopefully we are not far now.



  34. Spent part of my #RechageDay at #AMD looking at bootstrapping #TinyCC 0.9.26 from #GNUMes on #x86_64 architecture. And thanks to #Mes mantainer @janneke for his help with debugging various issues. We can now build initial #tcc binary and it can even run some simple commands such as --help or -vv.

    Unfortunately, we still hit some critical bugs when trying to use this tcc binary to rebuild itself but hopefully we are not far now.

    #bootstrappable
    #BootstrappableBuilds
    #ReproducibleBuilds

  35. Talk at IEEE S&P 2023 "Oakland" by Marcel Fourné "It’s like flossing your teeth: On the Importance and Challenges of Reproducible Builds for Software Supply Chain Security"

    youtube.com/watch?v=H0A2cSejlZ

    #bootstrappable
    #BootstrappableBuilds
    #ReproducibleBuilds
    @reproducible_builds

  36. Talk at IEEE S&P 2023 "Oakland" by Marcel Fourné "It’s like flossing your teeth: On the Importance and Challenges of Reproducible Builds for Software Supply Chain Security"

    youtube.com/watch?v=H0A2cSejlZ

    #bootstrappable
    #BootstrappableBuilds
    #ReproducibleBuilds
    @reproducible_builds

  37. I've just merged PR that implements kernel bootstrap for live-bootstrap: github.com/fosslinux/live-boot
    Big thanks to all the people who contributed to this!

    We can start with a small x86 binary that has about 200 bytes of code (but has to be padded to 512 bytes to add MBR signature) and bootstrap both kernel (builder-hex0->Fiwix->Linux) and userspace all the way from hex0 to GCC 13. And every part is built reproducibly!



    @reproducible_builds

  38. @stikonas
    Yes, that was another lovely #bootstrappable one-two, thank you!!!

  39. @stikonas
    Yes, that was another lovely #bootstrappable one-two, thank you!!!

  40. At the Linux Apps Conference 2023 #LAS2023 (sic., that's really GNU/Linux), Dor Askayo talks about making the Freedesktop SDK project #bootstrappable, bringing the benefits of a clear dependency graph of fully auditable code and a build process independent from the previous binary version of Freedesktop SDK (which depended on its previous binary version, which...).

    Lovely to see how quickly they took full advantage of us closing the gap between Stage0 and GNU Mes!

    youtube.com/watch?v=jwMEDI4WsA

  41. At the Linux Apps Conference 2023 #LAS2023 (sic., that's really GNU/Linux), Dor Askayo talks about making the Freedesktop SDK project #bootstrappable, bringing the benefits of a clear dependency graph of fully auditable code and a build process independent from the previous binary version of Freedesktop SDK (which depended on its previous binary version, which...).

    Lovely to see how quickly they took full advantage of us closing the gap between Stage0 and GNU Mes!

    youtube.com/watch?v=jwMEDI4WsA

  42. 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.

    Edit: Add blog post link inline guix.gnu.org/en/blog/2023/the-

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

  43. 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.

    Edit: Add blog post link inline guix.gnu.org/en/blog/2023/the-

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

  44. @revk @benjaminhollon I voted for cat as with the (ridiculous) idea that I could bootstrap my way into anything else, a la bootstrapping.miraheze.org/wik

    #bootstrappable