bootstrap-seeds VS builder-hex0

Compare bootstrap-seeds vs builder-hex0 and see what are their differences.

bootstrap-seeds

The roots of trust for all architectures (by oriansj)

builder-hex0

Builder-Hex0 is a minimal build system which includes a bootloader, kernel, shell, and a hex0 compiler (by ironmeld)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
bootstrap-seeds builder-hex0
6 6
73 27
- -
5.2 7.6
5 months ago 3 months ago
Assembly C
GNU General Public License v3.0 only GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

bootstrap-seeds

Posts with mentions or reviews of bootstrap-seeds. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-29.
  • NixOS Reproducible Builds: minimal ISO successfully independently rebuilt
    13 projects | news.ycombinator.com | 29 Oct 2023
    This[0] is basically the hand-documentation of those bytes then. Handwritten ELF header and assembly code.

    [0] https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX...

  • SectorC: A C Compiler in 512 bytes
    7 projects | news.ycombinator.com | 24 May 2023
    The bootstrap seed, https://github.com/oriansj/bootstrap-seeds/blob/master/POSIX..., is a tiny interpreter that takes a much larger program written in a special-purpose, bytecode-based language. This proceeds in turn once or twice more--special purpose program generating another interpreter for another special-purpose language--until you end up with a minimal Scheme interpreter, which then can be used to execute a C compiler program.

    All of this is incredible work, but a minimal C-subset compiler in under 512 bytes seems like a unique achievement.

  • Ken Thompson: Reflections on Trusting Trust (Turing Award Lecture)
    3 projects | /r/linux | 29 Sep 2022
    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)!
  • Zig is now self–hosted by default
    13 projects | news.ycombinator.com | 19 Aug 2022
    Yeah, it's a binary blob, but it's small enough to be easily auditable. Anyone with some knowledge of x86 assembly can read the annotated version [1] and verify that it does what it claims (which is to convert ASCII hex with comments into binary).

    You're right, it also requires a Linux kernel, and of course, you also have to trust the hardware you're running it on. Still, it reduces the amount of stuff we have to take for granted as trusted, which I think is a good thing. (I'm not involved in the project, just an admirer).

    [1]: https://github.com/oriansj/bootstrap-seeds/blob/b09a8b8cbcb6...

  • stage0-posix was ported to RISC-V
    4 projects | /r/RISCV | 3 Oct 2021
    stage0-posix just gained initial support for RISC-V (64-bit). It starts with 392 byte hex assembler, 361 byte "shell" and bootstraps simple linker (hex2), macro assembler (M0). Then it builds cc_riscv64 RISC-V compiler written in RISC-V assembly and uses it to build simple C compiler written in C (M2-Planet). Then it builds a few extra utilities (cp, mkdir, untar, ungz, sha256sum, chmod)
  • Reproducibility
    1 project | /r/Gentoo | 20 Jun 2021
    From a security point of view the only thing that gentoo users need to achieve similar levels of security is a bootstrapped compiler from a known good seed. The source code is already deterministic by definition. After that all you need is a compiler bootstrapped via something like https://github.com/oriansj/bootstrap-seeds which can be independently verified. It would probably be useful to be able to have independent bootstraps arrive at the same binary output for a compiler, but probably only as an option. Ultimately way less work for the same level of security.

builder-hex0

Posts with mentions or reviews of builder-hex0. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-29.
  • Builder-Hex0 – bootstrap compilers without a prebuilt binary
    1 project | news.ycombinator.com | 7 Nov 2023
  • NixOS Reproducible Builds: minimal ISO successfully independently rebuilt
    13 projects | news.ycombinator.com | 29 Oct 2023
    Isn't that what builder-hex0 does?

    https://github.com/ironmeld/builder-hex0

  • Saving Knowledge Post-Collapse
    2 projects | /r/preppers | 20 Mar 2023
    They literally create a file system and whole operating system in 4KB of text and it is good enough to bootstrap GCC/Linux ( https://github.com/ironmeld/builder-hex0 )
  • Builder-Hex0: kernel for bootstrapping compilers without trusting a binary
    1 project | news.ycombinator.com | 23 May 2022
  • Major breakthrough in bitcoin Trust
    2 projects | /r/Bitcoin | 21 May 2022
  • Writing a Simple Operating System – From Scratch [pdf]
    8 projects | news.ycombinator.com | 25 Mar 2022
    "It is true: in our quest to make full use of the CPU, we must abandon all of those helpful routines provided by BIOS. As we will see when we look in more detail at the 32-bit protected mode switch-over, BIOS routines, having been coded to work only in 16-bit real mode, are no longer valid in 32-bit protected mode; indeed, attempting to use them would likely crash the machine.

    "So what this means is that a 32-bit operating system must provide its own drivers for all hardware of the machine (e.g. the keybaord, screen, disk drives, mouse, etc). Actually, it is possible for a 32-bit protected mode operating system to switch temporarily back into 16-bit mode whereupon it may utilise BIOS, but this teachnique can be more trouble than it is worth, especially in terms of performance."

    --

    In the toy 32-bit OS I am currently writing, having easy disk access and text output was more important to me than performance, so I decided to implement this technique to access the disk and screen via the BIOS instead of writing an ATA disk driver.

    Although I could not find any minimal yet complete working examples of dropping to 16 bit and later resuming 32 bit mode, I was able to piece it together and write assembly functions called enter_16bit_real and resume_32bit_mode. See https://github.com/ironmeld/builder-hex0/blob/main/builder-h.... Those routines are working well but beware the project is a volatile work in progress and is coded in hex for bootstrapping reasons.

What are some alternatives?

When comparing bootstrap-seeds and builder-hex0 you can also consider the following projects:

live-bootstrap - Use of a Linux initramfs to fully automate the bootstrapping process

uefi-rs - Rust wrapper for UEFI.

zig-bootstrap - take off every zig

axiom-zig - A 64-bit kernel implemented in Zig

bcc - bcc is a b compiler

turning-polyglot-solutions-into-t

stage0-posix-x86

axiom - A 64-bit kernel implemented in Nim

mescc-tools-seed - A place for public review of the posix port of stage0

turning-polyglot-solutions-into-trusted-images