β οΈ BerkeOS Development Has Been DiscontinuedThis project is no longer maintained. All development has moved to Bros.
Bros is the successor to BerkeOS with improved features, better architecture, and proprietary licensing.
Please use the Bros repository for all future development and contributions.
πΉπ· Built from scratch by a 16-year-old developer from Turkey
A modern, DOS-inspired operating system proving that with dedication and AI assistance, anyone can build an OS.
Click to expand/collapse
βββββββββββββββββββββββββββββββββββββββββββββ
π― About the Project
π¨βπ» About the Developer
πΈ Screenshots
β
Module Status
π οΈ Features
π Code Statistics
π Quick Start
ποΈ Architecture
π» Shell Commands
πΊοΈ Roadmap
π Changelog
π€ Contributing
π License
π Acknowledgments
βββββββββββββββββββββββββββββββββββββββββββββ
__/\\\\\\\\\\\\\___________________________________________________________________/\\\\\__________/\\\\\\\\\\\___
_\/\\\/////////\\\_______________________________/\\\____________________________/\\\///\\\______/\\\/////////\\\_
_\/\\\_______\/\\\______________________________\/\\\__________________________/\\\/__\///\\\___\//\\\______\///__
_\/\\\\\\\\\\\\\\______/\\\\\\\\___/\\/\\\\\\\__\/\\\\\\\\________/\\\\\\\\___/\\\______\//\\\___\////\\\_________
_\/\\\/////////\\\___/\\\/////\\\_\/\\\/////\\\_\/\\\////\\\____/\\\/////\\\_\/\\\_______\/\\\______\////\\\______
_\/\\\_______\/\\\__/\\\\\\\\\\\__\/\\\___\///__\/\\\\\\\\/____/\\\\\\\\\\\__\//\\\______/\\\__________\////\\\___
_\/\\\_______\/\\\_\//\\///////___\/\\\_________\/\\\///\\\___\//\\///////____\///\\\__/\\\_____/\\\______\//\\\__
_\/\\\\\\\\\\\\\/___\//\\\\\\\\\\_\/\\\_________\/\\\_\///\\\__\//\\\\\\\\\\____\///\\\\\/_____\///\\\\\\\\\\\/___
_\/////////////______\//////////__\///__________\///____\///____\//////////_______\/////_________\///////////_____
BerkeOS is a modern, DOS-inspired operating system developed entirely from scratch using Rust (no_std). It features a complete boot chain, monolithic kernel, custom filesystem, interactive shell, device drivers, and more β all built with zero budget using free AI tools.
|
|
It is an ambitious project aiming for broad compatibility (including Linux ABI support) and a flexible architecture. We consider it a sister project, and your support there would be highly valued!
β οΈ Note: Some of the screenshots may not be uploaded yet.
π₯οΈ Boot Screen β UEFI/BIOS auto-detection |
π berkesh Shell β Interactive command line |
π Neofetch β System information |
βοΈ Deno Editor β Built-in text editor |
Transparency Note: This table reflects the actual implementation status as derived from the source code.
| Module | Source File(s) | Status | Description |
|---|---|---|---|
| π’ Boot Chain | boot.asm, linker.ld |
β | 32β64 bit Long Mode, page tables, kernel jump |
| π’ VGA Text Mode | vga.rs |
β | 80Γ25 color text output, scrolling |
| π’ Framebuffer | framebuffer.rs, font.rs |
β | Graphical framebuffer, font rendering |
| π’ IDT + PIC + PIT | idt.rs, pic.rs, pit.rs |
β | Interrupts, 8259 PIC, 100Hz timer |
| π’ PS/2 Keyboard | keyboard.rs |
β | Scan code β keypress, layout support |
| π’ Memory Paging | paging.rs, allocator.rs |
β | 2 MiB huge pages, heap allocator |
| π’ ATA PIO Disk | ata.rs |
β | Read/write sectors, disk detection |
| π’ BerkeFS | berkefs.rs |
β | Custom filesystem, dirs, files, mount |
| π’ Shell (berkesh) | shell.rs |
β | 30+ commands, history, tab support |
| π’ Deno Editor | deno.rs, editor.rs |
β | Built-in text editor |
| π’ RTC Clock | rtc.rs |
β | Real-time clock, date/time |
| π’ PC Speaker | pcspeaker.rs, audio.rs |
β | Beep, melodies via PIT |
| π’ Scheduler | scheduler.rs, process.rs |
β | Basic process scheduling |
| π’ Syscalls | syscall.rs |
β | System call interface |
| π‘ AHCI/SATA | ahci.rs |
π§ͺ | SATA controller detection, WIP |
| π‘ USB Stack | usb/ |
π§ͺ | OHCI, USB storage β early stage |
| π‘ Network | net/, rtl8139.rs |
π§ͺ | IPv4/ARP buffers, RTL8139 β early stage |
Legend: π’ Implemented | π‘ Experimental | π΄ Planned
- β
Monolithic kernel in Rust (
no_std,#![no_main]) - β UEFI/BIOS auto-detection boot
- β
boot.asmβ 32-bit β Long Mode transition - β Page tables with 2 MiB huge pages
- β Heap allocator
- β IDT + PIC 8259 + PIT 100Hz timer
- β Basic process scheduler & syscall interface
- β BerkeFS β custom filesystem (up to 12 drives)
- β ATA PIO disk read/write
- β Directory tree, file ops (create, read, write, delete)
- β Drive mount/unmount/format
- π§ͺ AHCI SATA controller detection (experimental)
- β
berkeshβ interactive CLI with 30+ commands - β VGA text mode with color support (80Γ25)
- β Framebuffer graphics mode with font rendering
- β
denoβ built-in text editor - β Calculator, neofetch, system info
- β Command history
- β PS/2 keyboard with scan code translation
- β RTC (Real-Time Clock)
- β PC Speaker (beep, play melodies)
- π§ͺ RTL8139 network card driver (experimental)
- π§ͺ USB OHCI + mass storage (experimental)
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
CODE AUTHORSHIP BREAKDOWN
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Developer Written βββββββββββββββββ 43%
AI-Assisted βββββββββββββββββ 57%
Total Lines: ~14,288
By Developer: ~6,143 lines
AI-Assisted: ~8,145 lines
Build Cost: 0 TL
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
# Arch Linux
sudo pacman -S rust nasm grub xorriso qemu
rustup override set nightly
rustup component add rust-src llvm-tools-preview
# Ubuntu / Debian
sudo apt install build-essential rustc nasm grub-pc-bin xorriso qemu-system-x86
rustup override set nightly
rustup component add rust-src llvm-tools-preview# 1οΈβ£ Clone the repository
git clone https://github.com/berkeoruc/berkeos.git
cd berkeos
# 2οΈβ£ Build the OS (creates bootable ISO)
chmod +x build.sh
./build.sh
# 3οΈβ£ Run in QEMU
chmod +x run.sh
./run.sh
# UEFI mode
./run.sh --uefibuild.sh Pipeline
βββββββββββββββββ
1. NASM compiles boot.asm β boot.o (32-bit bootstrap)
2. Cargo builds kernel as staticlib (x86_64-unknown-none)
3. ld links boot.o + libkernelos.a β kernel.bin
4. grub-mkrescue packages into bootable ISO
graph TD
A["π Power On"] --> B["UEFI / BIOS<br/>(auto-detect)"]
B --> C["boot.asm<br/>π¦ 32-bit Protected Mode"]
C --> C1["β
Verify boot mode"]
C1 --> C2["π Set up page tables"]
C2 --> C3["π Enable Long Mode (64-bit)"]
C3 --> C4["β‘οΈ Jump to kernel_main"]
C4 --> D["kernel_main()<br/>π¦ Rust Β· no_std"]
D --> D1["π₯οΈ Initialize VGA / Framebuffer"]
D1 --> D2["β¨οΈ Initialize PS/2 Keyboard"]
D2 --> D3["π§ Setup IDT + PIC + PIT"]
D3 --> D4["π Initialize Scheduler"]
D4 --> D5["πΎ Detect ATA / AHCI Drives"]
D5 --> D6["π Mount BerkeFS"]
D6 --> D7["π Start berkesh Shell"]
D7 --> D8["βΈοΈ Halt Loop"]
style A fill:#E8792B,stroke:#333,color:#fff
style B fill:#0071C5,stroke:#333,color:#fff
style C fill:#333,stroke:#E8792B,color:#fff
style D fill:#2EA44F,stroke:#333,color:#fff
style D7 fill:#8957E5,stroke:#333,color:#fff
BerkeOS/
β
βββ π Cargo.toml # Rust project config
βββ π linker.ld # Linker script
βββ π§ build.sh # Build pipeline
βββ π§ run.sh # QEMU launch
β
βββ π assets/ # Images, screenshots
β
βββ π src/
βββ boot.asm # NASM bootstrap
βββ main.rs # Cargo dummy entry
βββ lib.rs # kernel_main + modules
β
βββ idt.rs, pic.rs, pit.rs # Interrupts
βββ paging.rs, allocator.rs # Memory
βββ scheduler.rs, process.rs # Process management
βββ syscall.rs # System calls
β
βββ vga.rs, framebuffer.rs # Graphics
βββ keyboard.rs, ata.rs # Drivers
βββ rtc.rs, pcspeaker.rs # Peripherals
β
βββ berkefs.rs # Filesystem
βββ shell.rs # Shell
βββ deno.rs, editor.rs # Editor
β
βββ usb/ # USB stack π§ͺ
βββ net/ # Network π§ͺ
| Command | Description |
|---|---|
cd <dir> |
Change directory |
pwd |
Print working directory |
ls / dir |
List directory contents |
drives |
List available drives |
df |
Disk free space |
| Command | Description |
|---|---|
cat <file> |
Display file contents |
touch <file> |
Create empty file |
mkdir <dir> |
Create directory |
rm <path> |
Remove file or directory |
cp <src> <dst> |
Copy file |
mv <src> <dst> |
Move/rename file |
find <name> |
Search for files |
stat <path> |
File/dir information |
| Command | Description |
|---|---|
help |
Show available commands |
ver |
Version info |
date |
Current date/time (RTC) |
mem |
Memory usage |
sysinfo |
Full system information |
neofetch |
System info display |
uptime |
System uptime |
| Command | Description |
|---|---|
calc <expr> |
Calculator |
beep |
PC Speaker beep |
play <melody> |
Play melody |
deno <file> |
Open text editor |
format <drv> |
Format a drive |
fsck |
Filesystem check |
reboot |
Reboot system |
halt |
Halt / shutdown |
| Version | Goals |
|---|---|
| v0.7 | Stability & Polish |
| v0.8 | BerkeFS v2, Shell UX, Drive Registry |
| v0.9 | TCP/IP, Sound Card, USB Stabilization |
| v1.0 | SMP, GUI Desktop, Package Manager |
| # | Task | Impact |
|---|---|---|
| 1 | Version Consistency | π’ High |
| 2 | CI/CD Pipeline | π’ High |
| 3 | Panic Handler Improvements | π’ High |
| 4 | First GitHub Release | π’ High |
Date: March 2026
| Change | Description |
|---|---|
| π Serial Port | COM1 driver (115200 8N1) added |
| π Log Macros | kinfo!, kwarn!, kerr!, kdebug! |
| π¨ Panic Handler | Serial output + stack dump |
| ποΈ DriveRegistry | FS0..FS11 β single struct |
| β fsck | BerkeFS validation tool |
| π€ CI/CD | GitHub Actions pipeline |
| π¦ Test Harness | Automated test script |
Date: March 2026
- ASCII logo added
- All Unicode boxes translated to English
- Silent boot (GRUB timeout = 0)
- Global state refactor (static mut β spin::Mutex)
Bug fixes and minor improvements
First public release with core functionality
# 1οΈβ£ Fork the repository
# 2οΈβ£ Create your feature branch
git checkout -b feature/amazing-feature
# 3οΈβ£ Make your changes and commit
git commit -m "feat: add amazing feature"
# 4οΈβ£ Push to your fork
git push origin feature/amazing-feature
# 5οΈβ£ Open a Pull Request π- π Improve inline documentation
- π§ͺ Test modules in QEMU and report bugs
- πΈ Take screenshots and add them to
assets/
Apache License 2.0 β Copyright 2024-2026 Berke OruΓ§
- Rust Community β
no_stdecosystem - OSDev Wiki β Kernel development resources
- Free AI Tools β Making this project possible at zero cost
- Open Source β The spirit of sharing and collaboration
If you enjoy exploring BerkeOS, you should definitely check out Qunix Operating System.
It is an ambitious project aiming for broad compatibility (including Linux ABI support) and a flexible architecture. We consider it a sister project, and your support there would be highly valued!







