TCC Compiler
github.comKey Features
Tech Stack
Key Features
Tech Stack
I think that the reason stage0 and other projects work this way is that they found lisp and other projects to be very limiting and there were definitely some reasons that they do things the current way that are mentioned in their docs.
So, you need a minimal C compiler that can also compile the ungz and untar programs from their C sources. At the moment, I have a minimal C compiler that can compile the Tiny C Compiler and the standard library that is part of the GNU Mes compiler. One of the following tasks will be to see if it can also compile the sources for ungz and untar, which can be found in [0]. I think it will be not so hard as these sources already have been adapted to be compiled with a minimal C compiler.
I had this thought once that there would be a single sd card or hard drive which would allow bootstrapping source and a hash and with systems like tor and torrenting in general combining with self hosted wikipedia perhaps and all the mirrors of open source software I use.
I had this idea that its now possible to have such hard drives if I so desire and I am not usually paranoid but in actuality, feats like bootstrappability remove paranoia because I feel like there must be other people who do this and who verify security and I can always go to them or they exist :)
Bootstrappability is really cool and awesome stuff in my opinion which is severely underrated by many and I am glad that people like you work in helping bootstrappability. Have a nice day!
Regarding the comment itself, I didn't know that this was the case of Mes as I had just thought the only thing it depends on is scheme but thanks for sharing information about this.
https://github.com/fosslinux/live-bootstrap/blob/master/part...
Guix can definitely be bootstrapped but there are comments on this post where someone tries to reproduce nix with tcc etc.
Imagining the ability that nix can be completely bootstrapped makes me feel like it can be really good for these purposes
Like if this is reproducible and bootstrappble, then I am satisfied with the hash because other people can test it out to verify they get the same hash and I can download the iso's and then verify the hash myself to find complete safety.
Although I might still be trusting my linux iso but maybe we will have risc-v hardware where I can plug in an sd card or data or similar and it can give the hash of it for the extremely paranoid (maybe universities or very secure companies perhaps?)
After that (or quite frankly just the hash part for 99% people), I can then flash the iso to any and every hardware with complete verification
Although I feel like this still won't help if the firmware or the hardware itself can't be trusted. I mean even in corebooted chromebooks, the intel TPM only stops the ability of sending the bytecode over wire but it itself really can't be stopped. Maybe we will have risc-v machines but they would rather be really expensive.
I think tho librebooted thinkpads + nixos/guix can be really great for privacy perhaps. But what are your reasons why bootstrappability fascinates you (for me its this stacking aspect and then finally we get some useful os without having to trust anything but source which we can read/heck even audit ourselves or have the shared faith that the source code is audited by security people since its completely readable)
At Hackfest Enschede 2024: https://www.youtube.com/watch?v=eKXMwVqaauc with notes: https://www.iwriteiam.nl/Hackfest_2024.html
It's very interesting, making a C compiler that supports a small subset of C, enough to compile TCC. And the stack-based language as intermediate representation. I found a treasure trove of implementation notes, enjoying reading it. https://fransfaase.github.io/Emulator
I think that Rust is build as part of live-bootstrap, but at a much later stage when the latest version of the GNU C compiler has been build.
tcc 0.9.26 → tcc 0.9.27 → gcc 4.0.4 → g++ 4.7.4 → g++ 10.4.0 → g++ 13.1.0
There are still many pieces of riscv64 missing in the whole thing (an equivalent to Fiwix being the most challenging right now), and realistically only x86 is currently viable. I think riscv64 is the next in line though.
These first steps interest me very much, and perhaps x86-only is the best we'll get for a foreseeable future (10 years or so), considering how difficult builder-hex0/fiwix is to port to another arch and how crucial it is for the whole concept.
The GCC 4.7 RISC port and other things are nice (higher stages), but they are short term practical goals. I think the future lies in very specialized bootstrap-specific software that can cut lots of corners at once.
Not affiliated with Hacker News or Y Combinator. We simply enrich the public API with analytics.