A fast, simple, secure 64-bit monolithic written in C and assembly. With modern capabilities.
VoidFrame is a 64-bit syscall-less monolithic kernel (sounds weird and contradicting right?) designed for the x86_64 architecture written in C and assembly (nasm). This kernel was intended and targeted for people who want to learn about operating systems and want to make a piece of their own. As the designer of this kernel, I wanted to make something that is simple, fast, secure and easy to understand. Which obviously means that it is not a perfect kernel. And it breaks all the time. But I have tried my hardest to bring many security features to the kernel. If you were to come across a bug, feel free to open an issue. Fork the repo and make a pull request. It would be amazing if you could contribute to this project!
- meson >= 1.0.0
- ninja >= 1.11
- clang >= 18.0.0 (or any C-compliant compiler)
- nasm >= 2.16
- qemu >= 7.0.0 (minimum, failed to run on Limbo emulator (v5.x))
- mkfs.fat (dosfstools)
- mkfs.ext2
- grub-mkrescue
- Note: depending on your distro, grub-mkrescue may require xorriso and mtools packages.
git clone https://github.com/assembler-0/VoidFrame.git
cd VoidFrame
python scripts/vfconfig.py
meson setup build
cd build
ninja
ninja img
ninja extra-img
ninja run
git clone https://github.com/assembler-0/VoidFrame.git
cd VoidFrame
meson setup build -Dexclude_extra_objects=true
cd build
ninja
ninja runmin
- x86_64
- AArch64
- MIPS
- SPARC
- RISC-V (RV64)
- Power (modern)
- Multiboot2
- GRUB (BIOS)
- GRUB (UEFI)
- GRUB (Hybrid)
- Vesa (VBE)
- Multiboot2 Info parsing
- Multi-tasking (MLFQ)
- Per-process authentication check (Astra)
- Dynamic ML-inspired PIT frequency scaling (DynamoX)
- Virtual Memory (canonical)
- Physical Memory
- Memory Pool
- AVX2/SSE2 accelerated memory operations
- Memory & user protection
- Memory canaries, guard pages
- Per-process memory checks (Cerberus)
- Stack guard
- Stack trace
- Heap (Class-based)
- Paging
- Interrupts
- Process Management
- Locks (MCS/RW/norm)
- Atomics
- IPC
- Compositor
- Embedded shell
- Builtin Editor
- ELF64 loader
- PE32+/COFF loader
- a.out loader
- FAT1x
- Read
- Write
- Create
- Delete
- List
- EXT2
- Read
- Write
- Create
- Delete
- List
- VFRFS (VoidFrame RAMFS)
- Read
- Write
- Create
- Delete
- List
- ISO9660 (RO)
- Read
- List
- VFS (Virtual File System)
- Full abstraction
- EXT2
- FAT1x
- VFRFS
- ISO9660
- Network
- RTL8139 (PCI)
- E1000 (PCI)
- Sound
- SB16 (PCI)
- Generic PC speaker
- USB
- xHCI
- VirtIO
- Block
- Graphics
- Vesa (VBE)
- VMWare SVGA II
- VGA text mode
- Timer
- PIT
- PIC
- APIC (not working)
- RTC
- Generic
- PCI
- ISA
- xHCI
- Serial
- PS/2
- LPT
- Storage
- PATA (IDE)
- VirtIO Block
- AHCI