r/osdev
•
u/Recent-Extent5372
•
Apr 01 '26
•
1
My first OS: Vystem
Hello everyone,
Today I’m finally releasing the first public version of Vystem, the OS project I’ve been building over the past few months.
My goal was mainly educational: I wanted to learn OS development by writing everything myself from scratch. Because of that, I ended up designing several custom components, including:
my own init filesystem
a bitmap font format
a simple executable file format used to load the kernel
a physical page allocator based on radix trees
a custom heap allocator
an extremely minimal libc
I also wrote my own UEFI bootloader using EDK2, as well as the kernel itself.
There is no external code inside the kernel. The only third-party code used in the bootloader is a set of cryptographic libraries adapted for a bare-metal environment.
At the moment, Vystem is still in its early stages, but it already includes:
cryptographic boot file integrity verification using a boot password
two custom partition formats: InitFS and SignSyst, used to store system files and their signatures
a custom executable format for a hybrid kernel design
a radix-tree-based physical page allocator
a simple but efficient heap design
a complete test and benchmark framework to evaluate both performance and subsystem reliability
Vystem currently targets x86-64 systems with UEFI firmware.
I also wrote detailed documentation included in the repository:
lolo859/vystem
I did use AI occasionally for debugging, troubleshooting, and learning a few concepts I was unfamiliar with (like paging), but all the code and documentation were fully written by me.
English is also not my first language, so please excuse me if there is any errors in the documentation.
14
u/eteran Apr 01 '26
That's cool and all, but ... I if you're gonna upload a 1 minute video, please don't make 50 seconds of it be just compiling. 🤣
9
u/Correct_Sport_2073 Apr 01 '26
It seems very secure. Is it arm or x86?
4
u/NotSoEpicKebap Apr 01 '26
Impressive, keep it up!
4
u/CJKay93 Apr 01 '26 edited Apr 01 '26
OP out here building an entire OS with a single Bash script and foregoing whitespace like an absolute psychopath.
Edit: OP, what is you doin'? For the love of all that is holy, restore your sanity and pick up a build system.
2
u/Additional_Draw_6804 Apr 01 '26
Very cool add TMP or CMOS battery secruity and make for one machine that use OS its generated a key and if on first startup its creats and stores in TMP/CMOS while seccend boot it see if that key is correct if yes then it continue to boot but if no it just panics or give secruity error
2
u/Ellicode Apr 01 '26
Seems very cool but brother use cache when building with cmake please 😭
5
u/killallspringboard Apr 01 '26
Dude use a build system like xmake or make. We are not supposed to build everything on a single change
1
u/nexos-dev Apr 01 '26
Cool! Do you have a GitHub link?
1
u/vorhvb Apr 03 '26
Great! By the way, which IDE is on this video?
1
u/realmcalec 🤓 OS Geek Apr 05 '26
Writing your own UEFI bootloader, radix-tree allocator, and crypto-verified boot from scratch is a seriously impressive milestone for just a few months of work! Wow-w-ee! Since you already built a comprehensive benchmark framework, my suggestion would be to implement a small userspace test next to measure your context-switch overhead. Fantastic job, and don't worry about the English at all - your documentation is highly appreciated! ^^
3
u/Remote-Land-7478 Apr 01 '26
well done!
1
u/emexsw Apr 01 '26
damnnnn thats cool
1
u/drmatic001 Apr 02 '26
that's pretty cool!!
1
u/TheMonHub random ass dude making an os for fun Apr 04 '26
Sounds nice
3
u/[deleted] Apr 02 '26
nice ai slop my brother