#bootstrappable — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #bootstrappable, aggregated by home.social.
-
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 -
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 -
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)
-
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)
-
@regtur
Wait what? #GNU #Mes isn't being mentioned? Not even in the comments?
Fediverse do your thing!cc: @lauriewired @reproducible_builds
@guix
@ekaitz_zarraga
@nlnet #bootstrappable
#bootstrappablebuilds
#guix
#trustingtrust -
@regtur
Wait what? #GNU #Mes isn't being mentioned? Not even in the comments?
Fediverse do your thing!cc: @lauriewired @reproducible_builds
@guix
@ekaitz_zarraga
@nlnet #bootstrappable
#bootstrappablebuilds
#guix
#trustingtrust -
@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 -
@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 -
#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<https://lists.gnu.org/archive/html/info-gnu/2025-08/msg00005.html>
Thanks to @ekaitz_zarraga and @stikonas!
#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@reproducible_builds
@fsf
@fsfe
@gnutools
@nlnet -
#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<https://lists.gnu.org/archive/html/info-gnu/2025-08/msg00005.html>
Thanks to @ekaitz_zarraga and @stikonas!
#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@reproducible_builds
@fsf
@fsfe
@gnutools
@nlnet -
@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.
-
@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.
-
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!
-
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!
-
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…
https://guix.gnu.org/en/blog/2018/bootstrapping-rust
https://blog.rust-lang.org/2024/11/07/gccrs-an-alternative-compiler-for-rust.html
-
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
-
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
-
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 -
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 -
@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. -
@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. -
@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! -
@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! -
#GNU Mes 0.26 released: With greatly enhanced #Guile compatibility, Guile-style modules, and supporting Gash and Gash-Utils.
https://lists.gnu.org/archive/html/info-gnu/2023-12/msg00000.html
Thanks to the amazing work of Timothy Sample (and myself :)
#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@fsf
@fsfe -
#GNU Mes 0.26 released: With greatly enhanced #Guile compatibility, Guile-style modules, and supporting Gash and Gash-Utils.
https://lists.gnu.org/archive/html/info-gnu/2023-12/msg00000.html
Thanks to the amazing work of Timothy Sample (and myself :)
#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@fsf
@fsfe -
#GNU Mes 0.25 released: Supporting the bootstrap for riscv64-linux.
https://lists.gnu.org/archive/html/info-gnu/2023-11/msg00001.html
Thanks to the amazing work of @ekaitz_zarraga and
@stikonas!#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@fsf
@fsfe -
#GNU Mes 0.25 released: Supporting the bootstrap for riscv64-linux.
https://lists.gnu.org/archive/html/info-gnu/2023-11/msg00001.html
Thanks to the amazing work of @ekaitz_zarraga and
@stikonas!#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@fsf
@fsfe -
Actually existing 《 #BareMetal coding 》be like:
Copyright (C) 2016 Jeremiah Orians
This file is part of #stage0stage0 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 -
@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 -
@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 -
@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
https://archive.org/details/fossy2023_Breaking_the_Chains_of_Trustin
-
@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
https://archive.org/details/fossy2023_Breaking_the_Chains_of_Trustin
-
@monk @trofi @emilyposting
Great talk!
Very interesting to see what may come out of all this.
#bootstrappable
#nixos -
@monk @trofi @emilyposting
Great talk!
Very interesting to see what may come out of all this.
#bootstrappable
#nixos -
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.
-
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.
-
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"
https://www.youtube.com/watch?v=H0A2cSejlZ4
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@reproducible_builds -
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"
https://www.youtube.com/watch?v=H0A2cSejlZ4
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
@reproducible_builds -
I've just merged PR that implements kernel bootstrap for live-bootstrap: https://github.com/fosslinux/live-bootstrap/pull/295
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!
#BootstrappableBuilds
#ReproducibleBuilds
@reproducible_builds #bootstrappable -
@stikonas
Yes, that was another lovely #bootstrappable one-two, thank you!!! -
@stikonas
Yes, that was another lovely #bootstrappable one-two, thank you!!! -
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!
-
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!
-
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 https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/
#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
#SupplyChainSecurity
@reproducible_builds
@fsf
@fsfe -
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 https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/
#GnuMes
#bootstrappable
#BootstrappableBuilds
#ReproducibleBuilds
#SupplyChainSecurity
@reproducible_builds
@fsf
@fsfe -
@revk @benjaminhollon I voted for cat as with the (ridiculous) idea that I could bootstrap my way into anything else, a la https://bootstrapping.miraheze.org/wiki/Stage0