IRC channel logs

2024-04-23.log

back to list of logs

<oriansj>but perhaps that is me just seeing more work to be done after all of the "impossible bits" were solved and worrying that I am not doing enough to move the needle in the right direction.
<stikonas>well, there is still more baremetal bootstrap work to be done
<stikonas>and also userspace bootstrap
<stikonas>e.g. UEFI bootstrap is still very immature
<stikonas>other non x86 arches...
<oriansj>yeah, porting builder-hex0 to armv7l, aarch64 and RISC-V
<oriansj>doing the PowerPC ports of stage0
<oriansj>and SPARC ports of stage0
<oriansj>(possibly MIPS, Alpha, z80 and 6502)
<oriansj>and that isn't even counting the oddballs like HPPA, IA64, Loong, m68k, and s390
<oriansj>oh and solving the Haskell bootstrap problem
<lanodan>And Haskell isn't even the only one that doesn't bootstraps, Erlang doesn't either for example.
<Googulator>OCaml got very close, but ultimately fell short
<Googulator>the actual initial bootstrap is done up to 4.07.something IIRC
<Googulator>but not propagated forward
<oriansj>lanodan: indeed and probably far more; so we and the guix community (as the nix community seems fine with blobs) have to continue building new bootstrap chains and maintaining the bootstrap chains that already exist
<oriansj>Googulator: wow, someone went through all of the effort required and then the entire community for that language gave up when it would have been easy. That is a very troubling sign
<Googulator>OCaml seems to take a very weird approach to bootstrapping
<Googulator>they simply have prebuilt binaries checked into Git
<Googulator>which are used during build
<Googulator>and in every commit that changes certain critical code, contributors are expected to also include updated binaries
<Googulator>So there's no real record of what earlier versions are sufficient for building the current one - the build always uses the prebuilts in Git instead of the ones on your system
<theruran>this_is_fine.jpg
<matrix_bridge><Andrius Štikonas> Yeah ocaml is nasty in this regard
<matrix_bridge><Andrius Štikonas> At least with rust or go you can use system binary
<matrix_bridge><Andrius Štikonas> Maybe it's the easiest project to insert recursive backdoor in then...
<Googulator>yeah, just abuse the rebootstrap process once
<Googulator>at least I hope they do an automated check for reproducibility of the bootstrap binaries using the commit's source and its included binaries
<Googulator>but even that can be overcome with some additional trusting-trustery