Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I do not think that at all. But I have witnessed tortured vivisection of codebases that were never meant to undergo that procedure, all to satisfy a fantastical taxonomy. In that regard, I am triggered, yes.

Is the argument you were alluding to that a distro wouldn't consume Zig until it can be bootstrapped by two compilers to show it hasn't been the victim of the Trusting Trust attack?



Oh sure, I won't deny that package maintenance has caused plenty of issues for upstream authors [1].

Yes that's right. More specifically they have rules about generated files. They are not allowed. Generated files such as binary blobs must be produced as part of the build process of the package.

[1]: https://www.youtube.com/watch?v=stChOsejLEQ


Distros like to compile from source, but generally don't mind bootstrapping off pre-built compilers not in the source package, since any other method means basically giving up on packaging software altogether.

The only exception that I am aware of is GNU Guix and the Bootstrappable Builds project, which aims to build a full distro starting with ~512 bytes binary, they have gotten quite far already.

https://bootstrappable.org/


Following that site, I find https://www.gnu.org/software/mes/

> GNU Mes is a Scheme interpreter and C compiler for bootstrapping the GNU System.

https://guix.gnu.org/en/blog/2020/guix-further-reduces-boots...

> The Scheme interpreter is written in ~5,000 LOC of simple C, and the C compiler written in Scheme and these are mutual self-hosting. Mes can now be bootstrapped from M2-Planet and Mescc-Tools.

This is important work these folks are doing. I'd love to see some distros pick it up and periodically show that they can start with some files on disk and a ten-key. USB drive and a UEFI console?


They got a lot further than GNU Mes now. The process starts with stage0, ~512 bytes of machine code. Their live-bootstrap project is another focus of work. Another thing being worked on is using the Fiwix kernel as a step towards getting Linux bootstrapped. Also higher-level languages like Ocaml are getting bootstrapped.

https://github.com/oriansj/stage0 https://github.com/fosslinux/live-bootstrap/ https://www.fiwix.org/ https://github.com/Ekdohibs/camlboot

I'm not aware of any overview/documentation of the entire process though, best check out their site and wiki and join the IRC channel.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: