Skip to content

lucamienert/LumaOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

994e116 · Aug 18, 2022
Jun 3, 2022
Aug 18, 2022
Apr 19, 2022
Jul 7, 2022
Apr 28, 2022
May 25, 2022
Aug 1, 2022
Jul 14, 2022
Jul 11, 2022
Jul 19, 2022
Jun 9, 2022
Jun 10, 2022
Apr 14, 2022
Apr 19, 2022
Apr 14, 2022
Jun 15, 2022
Jun 9, 2022
Jul 18, 2022
May 9, 2022
May 11, 2022

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