A hobby x86 operating system written from scratch in C for the x86 architecture. Newrex focuses on low-level systems programming, custom filesystem design, executable loading, memory management, and networking.
⚠️ Newrex is currently in Developer Preview Beta and is under active development.
- 32-bit x86 Monolithic Kernel
- Multiboot-compliant boot process
- GDT & IDT initialization
- Interrupt handling
- Programmable Interrupt Controller (PIC)
- Programmable Interval Timer (PIT)
- Keyboard driver
- CMOS RTC support
- Kernel tracing subsystem
- Physical Memory Manager (PMM)
- Virtual Memory Manager (VMM)
- Identity Paging
- Dynamic Heap Allocator
- Memory Diagnostics Commands
Custom filesystem developed specifically for Newrex.
- Custom Superblock
- Inode-Based Storage
- Directory Hierarchy
- Persistent File Storage
- Clean Shutdown Tracking
- Mount / Unmount Support
- File & Directory Operations
mkfs
mount
unmount
fsinfo
mkdir
cd
pwd
ls
touch
rm
write
cat
Newrex includes a custom executable format called NEX.
- Custom Binary Header
- Executable Validation
- Dynamic Program Loading
- Heap-Based Execution
- Safe Return To Kernel
writehex
exec
Newrex includes a functional network stack and RTL8139 driver.
- PCI Device Enumeration
- RTL8139 Ethernet Driver
- Ethernet Layer
- ARP
- IPv4
- ICMP Echo Requests
- UDP Transport
- Basic TCP State Machine
netinfo
ping
udpsend
help
version
about
sysinfo
uptime
clear
monitor
meminfo
pmm
vmminfo
mmap
mkfs
mount
unmount
fsinfo
mkdir
cd
pwd
ls
touch
rm
write
cat
writehex
exec
netinfo
ping
udpsend
trace
diskinfo
pci
bootinfo
sudo apt update
sudo apt install \
build-essential \
nasm \
gcc \
grub-pc-bin \
xorriso \
qemu-system-x86make -f kernel/Makefile clean all
make -f kernel/Makefile isoOutput:
newrex.iso
Using QEMU:
qemu-system-i386 \
-cdrom newrex.iso \
-m 128MNetworking Example:
qemu-system-i386 \
-cdrom newrex.iso \
-m 128M \
-device rtl8139,netdev=n1 \
-netdev user,id=n1mkfs
mount
mkdir test
cd test
touch notes.txt
write notes.txt Hello Newrex
cat notes.txt
ping 10.0.2.2
- Bootloader
- GDT
- IDT
- PMM
- VMM Foundations
- Heap Allocator
- PCI Enumeration
- RTL8139 Driver
- ARP
- IPv4
- ICMP
- UDP
- Basic TCP
- RexFS Filesystem
- NEX Executables
- Interactive Shell
- Improved Scheduling
- Process Management
- System Calls
- Ring 3 User Mode
- Syscall Interface
- User Process Isolation
- Preemptive Multitasking
- Advanced Scheduler
- Process Manager
- GUI Subsystem
- Mouse Driver
- Window Manager
- Application Framework
- Package Manager
- Networking Expansion
boot/ Bootloader
drivers/ Hardware Drivers
hal/ Hardware Abstraction Layer
kernel/ Kernel Core
mm/ Memory Management
docs/ Documentation & Screenshots
Newrex is developed with a mixture of:
- Manual systems programming
- Documentation research
- AI-assisted Debugging
- Manual integration and programming
All features are tested and validated inside QEMU before release.
This project is licensed under the MIT License.
See the LICENSE file for details.
Satwik Bajpai
GitHub: https://github.com/sxwik
Special thanks to:
- OSDev Wiki
- GRUB Project
- QEMU
- NASM
- GCC
- Open Source Systems Programming Community
"Building an operating system is one of the best ways to understand how computers actually work."











