trusttrust
live-bootstrap
trusttrust | live-bootstrap | |
---|---|---|
1 | 30 | |
11 | 274 | |
- | - | |
10.0 | 9.4 | |
about 6 years ago | 2 days ago | |
C | Shell | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
trusttrust
-
Is Golang Compiler Open Source? (From Noob)
The Go compiler is written in Go. To "bootstrap", you need Go version 1.4, which had a compiler written in C. Oh, and to bootstrap that, you need GCC, which is a compiler written in C. To bootstrap that, you need a C compiler written in assembly. To bootstrap that, you need to type in your assembler in hex. To bootstrap that, you enter the data for your assembler into memory by flipping switches on the front panel. (Newer computers don't ship with these panels, so you better hope nothing gets corrupted on the way.)
live-bootstrap
-
Finding Out Where Syscalls Are Called From: Stack Traces with Strace
strace is a rather powerfull tool if you want to find out what a certain executable is doing. Which files it is opening, reading and writing and also which other executables it is executing. I personally have not used the '--stack-trace' option yet.
Earlier this year, I have used it to analyze what happens during the initial steps of live-bootstrap [1] and produce a web page with all the information [2]. For this, I wrote a C program to parse and process the output of strace.
[1] https://github.com/fosslinux/live-bootstrap
[2] https://fransfaase.github.io/Emulator/
- Automated Bootstrapping from Source
- Bored? How about trying a Linux speedrun? (2020)
-
SectorC: A C Compiler in 512 bytes
Not using this, but tangentially related is (full disclosure, i am a maintainer of this project) live-bootstrap, which uses about a KB of binary to do a full "Linux from scratch" style thing - read https://github.com/fosslinux/live-bootstrap/blob/master/part... for all 143 steps you have to go through to get there.
-
Saving Knowledge Post-Collapse
Actually you can skip a file system entirely if you do something like stage0 or live-bootstrap https://github.com/fosslinux/live-bootstrap
-
Every night
See https://github.com/fosslinux/live-bootstrap, and https://github.com/fosslinux/live-bootstrap/blob/master/parts.rst has all the steps we take.
- Goodbye to the C++ Implementation of Zig
-
what is the smallest linux system capable of building itself?
live-bootstrap builds a variety of intermediate systems, starting from a <1KB binary seed (kernel excluded). Check parts.rst for a description, it's kinda wild just how many C and C subset compilers get compiled... but the end result is a system with musl and GCC 4.7, from which building the latest GCC is 2 steps away.
-
Ken Thompson: Reflections on Trusting Trust (Turing Award Lecture)
There is also live-bootstrap which uses a similar bootstrap chain to Guix (stage0 -> Mes -> tcc -> gcc), but without needing Guile/guix-daemon binaries etc. The whole thing starts with just a 357-byte binary seed (source)!
- Collapsing Internet
What are some alternatives?
nix-ld - Run unpatched dynamic binaries on NixOS
guix - Read-only mirror of GNU Guix — pull requests are ignored, see https://guix.gnu.org/en/manual/en/guix.html#Submitting-Patches instead
mescc-tools-seed - A place for public review of the posix port of stage0
brainfuck-x86-64 - A brainfuck interpreter written in x86-64 assembly
M2-Planet - The PLAtform NEutral Transpiler
rizin - UNIX-like reverse engineering framework and command-line toolset.
zig-bootstrap - take off every zig
libds - A collection of data structures for C
sc - Common libraries and data structures for C.
chibicc - A small C compiler
bootstrap-seeds - The roots of trust for all architectures
libderp - C collections. Easy to build, boring algorithms. Dumb is good.