lucamienert / LumaOS

An x86 32-bit operating system

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

An x86 32-bit operating system

License:GNU General Public License v3.0


Languages

Language:C 95.6%Language:Assembly 3.3%Language:Makefile 1.2%