Arion is an educational operating system project demonstrating the design and implementation of a modern 64-bit OS for x86_64 architecture. Built from scratch with comprehensive documentation, it progresses through 8 phases from bootloader to a fully functional GUI-based system.
Current Status: Phase 1 Complete ✓
Target: Phase 2 (Long Mode Transition)
Arion/
├── OS/ # Main OS source code (see OS/README.md)
├── README.md # This file
└── ProjectReport.md # Complete documentation of all 8 phases
cd OS
make iso && make runExpected Output: "Hello Arion" printed to VGA in QEMU
See OS/doc/BUILD.md for detailed setup instructions.
- Educational: Understand how modern operating systems work at the hardware level
- Reproducible: Works on Linux, WSL, Windows, and multiple emulators
- Modular: Easy to extend with new architectures (ARM64, RISC-V) and features
- Well-Documented: Every phase has clear goals, tasks, and deliverables
| Phase | Goal | Status |
|---|---|---|
| 1 | Project Foundation & Build Setup | ✓ Complete |
| 2 | Long Mode Transition & x86_64 Bootstrap | ✓ Complete |
| 3 | Core Kernel & Process Management | → In Progress |
| 4 | Syscall Layer & Userland | Planned |
| 5 | Filesystem & Storage | Planned |
| 6 | Drivers & Input/Output | Planned |
| 7 | GUI & Compositor | Planned |
| 8 | Testing, CI, and Installer | Planned |
Estimated Timeline: 8-16 weeks (part-time)
- OS/README.md - OS architecture and folder structure
- OS/doc/ROADMAP.md - Detailed 8-phase plan with tasks and deliverables
- OS/doc/BUILD.md - Build system and toolchain setup
- OS/doc/WINDOWS_SETUP.md - Windows development guide
- OS/Makefile - Top-level build orchestration
- Bootloaders: BIOS/UEFI multiboot, real to protected to long mode
- Memory Management: Paging, virtual addressing, heap allocation
- Concurrency: Context switching, scheduling, process management
- System Calls: Userland/kernel boundary, privilege levels
- Filesystems: VFS abstraction, RAMFS, file I/O
- Device Drivers: Hardware abstraction, interrupt handling
- GUI: Framebuffer graphics, window management, input handling
- Target Architecture: x86_64
- Bootloader: GRUB (multiboot)
- Kernel: Freestanding C
- Build System: Make + cross-compiler (x86_64-elf-gcc)
- Testing: QEMU, VirtualBox
- CI/CD: GitHub Actions (planned)
-
Clone & Setup:
git clone https://github.com/yourusername/Arion.git cd Arion/OS -
Check Requirements:
- Linux/WSL: See OS/doc/BUILD.md
- Windows: See OS/doc/WINDOWS_SETUP.md
-
Build & Run:
make iso && make run -
Next Steps:
- Read OS/doc/ROADMAP.md for Phase 2 tasks
- Check individual phase implementation guides in
OS/doc/
All documentation is in OS/doc/:
- ROADMAP.md - Complete 8-phase plan
- BUILD.md - Build system and toolchain
- DESIGN.md - Architecture and design notes
- WINDOWS_SETUP.md - Windows developer setup
- API.md - Kernel and user-space API
- OSDev.org - OS development wiki
- Intel x86-64 ABI - ABI specification
- GRUB Multiboot - Multiboot spec
- Linux Kernel Docs - Reference implementation
This is primarily an educational project. Feel free to fork and extend with:
- Additional architectures (ARM64, RISC-V)
- Advanced scheduling algorithms
- Network stack implementation
- Filesystem drivers (EXT2, FAT32)
- Improved GUI capabilities
See OS/LICENSE
Last Updated: February 2026
Current Phase: 2 ✓
Next Phase: 3 (Core Kernel & Process Management)