Skip to content

EtienneMaire37/HorizonOS-v5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HorizonOS v5

MIT License x86 GitHub Contributors Last Commit Monthly Commits Open Issues Closed Issues

A 32-bit monolithic kernel for the x86 architecture

Overview 🌟

HorizonOS is a hobby kernel targeting x86 systems, designed as a learning platform for low-level systems programming. Built from scratch and using the GRUB bootloader, it demonstrates core operating system concepts while maintaining simplicity and readability.

Features 🛠️

Implemented ✅

  • Monolithic kernel design for single-processor systems
  • Basic memory management (paging, frame allocation) supporting up to 4GB RAM
  • Preemptive multitasking implementation
  • Minimal ACPI parsing capabilities
  • PS/2 keyboard driver
  • Custom C library (libc) in development
  • Basic math library (libm)

Planned 📅

  • Multi-core support
  • PCI device enumeration
  • USB drivers and mouse support
  • Network stack support and ethernet drivers
  • Graphical display support
  • Improved filesystem support

Building HorizonOS 🛠️

Prerequisites 📦

  • i386-elf cross-compiler
  • NASM assembler
  • GRUB 2.0+
  • QEMU (for emulation)

Install build dependencies (Debian/Ubuntu) 🐧

sudo apt install nasm grub-pc-bin qemu-system-i386

Set up cross-compiler (using included script) ⚙️

sudo sh install-cross-compiler.sh

Compilation 🔨

make all

Running in QEMU 🚀

make run

The horizonos.iso file will be generated in the repository's root.

This will:

  1. Build the kernel ISO
  2. Launch QEMU with:
    • 256MB RAM
    • CD-ROM boot
    • Serial output
    • VGA display
    • Logging to debug/ directory

Contributing 🧑‍💻

Contributions are welcome ! Feel free to open issues and send pull requests.

License 📜

Distributed under the MIT License. See LICENSE for more information.


Note: This is experimental software - use at your own risk. Not recommended for production environments or critical systems.

About

A simple hobby kernel for the x86 architecture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published