builder-hex0
linux
builder-hex0 | linux | |
---|---|---|
6 | 987 | |
28 | 172,917 | |
- | - | |
7.6 | 10.0 | |
4 months ago | 7 days ago | |
C | C | |
GNU General Public License v3.0 or later | 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.
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.
linux
- drm/panic: Add a drm panic handler
- NetBSD Bans AI-Generated Code from Commits
-
What even is a pidfd anyway?
>A pidfd does not let you hold a reference to an individual thread, only to a process
I think that's outdated: https://github.com/torvalds/linux/commit/64bef697d33b75fc06c...
-
SSD death, tricky read-only filesystems, and systemd magic?
For specific cases I can find ext4 explicitly checking for RO https://github.com/torvalds/linux/blob/8c06da67d0bd3139a97f3...
- Doyensec – OOB memory read in Linux kernel
- Memory is cheap, new structs are a pain
-
The File Filesystem
FFS predates FreeBSD and is in some capacity supported by all 3 major BSDs. I'm fairly confident that Linux actually supports it through the ufs driver ( https://github.com/torvalds/linux/tree/master/fs/ufs ); whether the use of different names in different places makes it better or worse is an exercise for the reader.
-
Linus Torvalds adds arbitrary tabs to kernel code
These are a bit easier to see what's going on:
https://github.com/torvalds/linux/commit/d5cf50dafc9dd5faa1e...
https://github.com/torvalds/linux/blob/d5cf50dafc9dd5faa1e61...
Unfortunately Github doesn't have a way to render symbols for whitespace, but you can tell by selecting the spaces that the previous version had leading tabs. Linus changed it so that the tokens `default` and the number e.g. `12` are also separated by a tab. This is tricky, because the token "default" is seven characters, it will always give this added tab a width of 1 char which makes it always layout the same as if it were a space no matter if you use tab widths of 1, 2, 4, or 8.
- Show HN: Running TempleOS in user space without virtualization
-
PfSense Software Embraces Change: A Strategic Migration to the Linux Kernel
There was also a Gentoo effort to run atop FreeBSD[0]. The challenge of course is that afaik none of the BSD kernel ABIs are considered stable. The stable interface is the BSD libc. That said, with binfmt_misc, I don't see a reason you couldn't just run (at least some) FreeBSD binaries on Linux with a thin syscall translation layer (rather something like qemu-system) and then your layer hooked via binfmt_misc. I'm not aware of anyone who has done this for FreeBSD, but prior efforts existed as alternate binfmts for SysVr4/5 ELF binaries[2]. Either way would take some elbow grease, but you *might* even be able just reuse binfmt_elf and just have a new interpreter for FreeBSD elf.
[0] https://wiki.gentoo.org/wiki/Gentoo_FreeBSD
[1] https://docs.kernel.org/admin-guide/binfmt-misc.html
[2] https://github.com/torvalds/linux/blob/master/fs/binfmt_elf....
What are some alternatives?
uefi-rs - Rust wrapper for UEFI.
zen-kernel - Zen Patched Kernel Sources
axiom-zig - A 64-bit kernel implemented in Zig
DS4Windows - Like those other ds4tools, but sexier
turning-polyglot-solutions-into-t
winapps - Run Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration.
axiom - A 64-bit kernel implemented in Nim
Open and cheap DIY IP-KVM based on Raspberry Pi - Open and inexpensive DIY IP-KVM based on Raspberry Pi
stage0-posix-x86
serenity - The Serenity Operating System 🐞
turning-polyglot-solutions-into-trusted-images
DsHidMini - Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers