Skip to content

Latest commit

 

History

History
72 lines (54 loc) · 2.21 KB

File metadata and controls

72 lines (54 loc) · 2.21 KB

glowieStopper Bootstrap Tools

Zero External Dependencies

glowieStopper does not use Python, Perl, GCC, LLVM, or any other external tool. The entire system is bootstrapped from hand-crafted machine code.

hex2bin — The Root of Trust

hex2bin.hex is a 326-byte x86_64 Linux ELF binary written as commented hex. It reads hex bytes from stdin, writes raw binary to stdout, and strips # comments.

This is the only bootstrap artifact. Everything else is built from it.

One-Time Bootstrap

To create the hex2bin binary for the first time, you must manually enter 326 bytes. This is the ONLY step that requires human effort on a bare system.

Method A: Hex editor (any platform) Open any hex editor (or write bytes directly to a file), type in the bytes from hex2bin.hex (ignoring lines starting with # and all whitespace), save as hex2bin, and mark it executable. This is pure manual data entry — no external software dependency, just a human reading hex and typing bytes.

Method B: Another glowieStopper machine If you already have a running glowieStopper, use its built-in hex2bin tool:

hex2bin < tools/hex2bin.hex > tools/hex2bin.new

Method C: Real hardware with serial input Send the raw bytes over a serial connection to the target machine's storage.

After this single manual step, the entire toolchain bootstraps itself with zero external tools.

Usage

Once hex2bin exists as a binary, it bootstraps everything else:

hex2bin < toolchain/seed/seed.hex > toolchain/seed/seed.bin
hex2bin < tools/hex2bin.hex > tools/hex2bin.verify

Verification

The hex file is fully commented with instruction-level annotations. You can verify every byte against the x86_64 instruction set manual.

Bootstrap Chain

hex2bin.hex ──(manual entry)──▶ hex2bin (binary, 326 bytes)
    │
    ▼
seed.hex ──(hex2bin)──▶ seed.bin (seed assembler)
    │
    ▼
tasm_stage1 (assembler, written in seed assembly)
    │
    ▼
tasm (full assembler, self-hosting)
    │
    ▼
tlc_stage1 (tLang subset compiler, in assembly)
    │
    ▼
tlc (full tLang compiler, self-hosting)

After tlc is self-hosting, no bootstrap tools are needed. glowieStopper rebuilds itself.