LU
lucamienert/LumaOS
An x86 32-bit operating system
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-mkrescueUsing
make runCleaning the project
make cleanResources
On this page
Languages
C95.6%Assembly3.3%Makefile1.2%
Contributors
Latest Release
v0.1April 29, 2022GNU General Public License v3.0
Created April 14, 2022
Updated February 9, 2026