Related: pnut.sh <a href="https://github.com/udem-dlteam/pnut" rel="nofollow">https://github.com/udem-dlteam/pnut</a> just released. It’s a self-compiling C->POSIX shell transpiler that outputs readable shell, aimed at live-bootstrap and reproducible build chains. The shell edition is auditable and can bootstrap a native compiler from just POSIX sh + coreutils. Very much in the spirit of stage0 / compile-from-nothing work.
Bootstapping is so complex, here's 181-step document to compile Linux: from "commented opcodes" in hex0 to assembler with labels, from simple C compiler to ~c89 compiler to tinycc ~c99 compiler, from simple shell to scheme interpreter to Fiwix unix-like kernel.<p><a href="https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst" rel="nofollow">https://github.com/fosslinux/live-bootstrap/blob/master/part...</a>
I have been reviewing stage0 and gave a presentation, 'reviewing live-bootstrap' about it at WHY2025, in which I also made some suggestions about improving stage0. I am now working on this.<p>What I refer to as stage0 is the first 19 steps of the mentioned description, which actually involves the execution of over 700 executables. (See presenration for T-diagran.) I believe that number can reduced by at least a half.
Eliminating Mes would be amazing for us in Stagex. Mes is the second longest build in the entire tree (after rust).
At this point I believe running Common Lisp/Scheme from SectorLisp wouldn't be that far off
The thing about Mes is that it does riscv64 too. I don't know the current state of the support, but there is something there.<p>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.