Skip to content

lucamienert/LumaOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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