GitHunt

Luma OS

Description

LumaOS is a x86 32-bit toy operating system, which I am developing to teach myself how operating systems work.
It is still in an very early development state, so don't try to use it.
LumaOS is primarily based on the Tutorials from James Molloy.

Features to implement (or already implemented):

  • Kernel (interfaced with the GRUB bootloader)
  • Global descriptor table (GDT)
  • ISRs for CPU interrupt handling
  • VGA graphics
  • Keyboard drivers
  • Filesystem (potentially ext2 (or not))
  • Mouse drivers
  • Terminal (Shell)
  • Dynamic memory allocation
  • Finalizing and adding GUI

Usage

Prerequisites

  • qemu
  • nasm
  • make
  • i386-elf-binutils
  • i386-elf-gcc
  • i386-elf-gdb
  • xorriso
  • grub-mkrescue

Example using Pamac (Arch Linux AUR helper):

pamac install qemu nasm make i386-elf-binutils i386-elf-gcc i386-elf-gdb xorriso grub-mkrescue

Using

make run

Cleaning the project

make clean

Resources

Languages

C95.6%Assembly3.3%Makefile1.2%

Contributors

Latest Release

v0.1April 29, 2022
GNU General Public License v3.0
Created April 14, 2022
Updated February 9, 2026
lucamienert/LumaOS | GitHunt