Skip to content

TheSkyFalls-dot/RetOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

RetOS

IMP NOTICE: THE MAKEFILE IS NOT FUNCTIONAL AND IS STILL IN DEVLOPEMENT!

RetOS is a hobby x86 operating system built from scratch using C and x86 Assembly. No libc. No hand-holding. GRUB, and raw VGA memory.

Built for learning OS development the hard (and fun) way.


Features

  • Boots using GRUB (BIOS)
  • Custom 32-bit kernel
  • VGA text mode driver
  • Minimal printf implementation
  • Clean project structure
  • Runs on QEMU

πŸ“ Project Structure

RetOS/ β”œβ”€β”€ boot/ β”‚ └── grub/ β”‚ └── grub.cfg β”œβ”€β”€ kernel/ β”‚ β”œβ”€β”€ boot.asm β”‚ β”œβ”€β”€ kernel.c β”‚ β”œβ”€β”€ printf.c β”‚ └── printf.h β”œβ”€β”€ build/ # generated (ignored) β”œβ”€β”€ iso/ # generated (ignored) └── README.md


Building RetOS

Requirements

  • nasm
  • gcc (with multilib support)
  • grub-pc-bin
  • xorriso
  • qemu-system-x86

Build kernel

nasm -f elf32 kernel/boot.asm -o build/boot.o
gcc -m32 -ffreestanding -c kernel/kernel.c -o build/kernel.o
gcc -m32 -ffreestanding -c kernel/printf.c -o build/printf.o
ld -m elf_i386 -T kernel/linker.ld -o build/kernel.bin \
   build/boot.o build/kernel.o build/printf.o

About

A simple retro OS made with GRUB

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published