builder-hex0
stage0-posix-x86 | builder-hex0 | |
---|---|---|
1 | 6 | |
8 | 27 | |
- | - | |
5.1 | 7.6 | |
3 months ago | 3 months ago | |
Assembly | C | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
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.
stage0-posix-x86
builder-hex0
- Builder-Hex0 – bootstrap compilers without a prebuilt binary
-
NixOS Reproducible Builds: minimal ISO successfully independently rebuilt
Isn't that what builder-hex0 does?
https://github.com/ironmeld/builder-hex0
-
Saving Knowledge Post-Collapse
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
- Major breakthrough in bitcoin Trust
-
Writing a Simple Operating System – From Scratch [pdf]
"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?
workstation - Docker based portable Workstation
uefi-rs - Rust wrapper for UEFI.
bootstrap-seeds - The roots of trust for all architectures
axiom-zig - A 64-bit kernel implemented in Zig
turning-polyglot-solutions-into-t
axiom - A 64-bit kernel implemented in Nim
turning-polyglot-solutions-into-trusted-images
nixpkgs - Nix Packages collection & NixOS
melisa_kernel - melisa_kernel
CPython - The Python programming language
littleosbook - Source for the little book about OS development