explaingit

codedbyhermez/redpandaos

Analysis updated 2026-05-18

20CAudience · researcherComplexity · 5/5LicenseSetup · hard

TLDR

A hobby operating system built entirely from scratch, from the boot sector to a graphical desktop, running on 32-bit x86.

Mindmap

mindmap
  root((RedPandaOS))
    What it does
      Custom bootloader
      Kernel and interrupts
      Graphical desktop
    Tech stack
      C
      Assembly
      QEMU
    Use cases
      Learn OS internals
      Study kernel design
      Educational project
    Audience
      Hobbyists
      Students

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study a custom 512-byte bootloader written in assembly

USE CASE 2

See how a from-scratch kernel handles memory, interrupts, and a PS/2 keyboard and mouse

USE CASE 3

Explore a hand-built graphical desktop with draggable windows and a taskbar

USE CASE 4

Try the built-in text editor with save and undo support on the custom filesystem

What is it built with?

CAssemblyQEMUNASM

How does it compare?

codedbyhermez/redpandaosnavithecoderboi/lumiseregonwar/eapdumper
Stars202020
LanguageCCC
Setup difficultyhardmoderatehard
Complexity5/53/54/5
Audienceresearcherdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires NASM, LLVM/Clang for bare-metal i686 cross-compilation, and QEMU, build runs via a PowerShell script.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

RedPandaOS is a hobby operating system built entirely by its creator without using any existing operating system code, standard libraries, or pre-built frameworks. It runs on a simulated computer via QEMU and targets the older 32-bit x86 architecture. The project started from the very first instruction the computer executes at boot and grew from there. The system includes a custom bootloader written in assembly language that fits in a single 512-byte sector, which the computer's firmware loads automatically. That bootloader reads the kernel from disk and hands over control. The kernel then sets up memory management, handles hardware interrupts, drives a PS/2 keyboard and mouse, and talks to the display via a framebuffer that lets it draw individual pixels. On top of that kernel sits a full graphical desktop: a taskbar with a start menu and a live clock, draggable windows with rounded corners and drop shadows, desktop icons, and a trash bin. Files written to a custom filesystem called RPFS persist on disk between reboots. The filesystem uses an ATA disk driver the author also wrote from scratch and stores data in a block-chain format similar in concept to older systems like FAT. The most recent version (v11) adds a working text editor that supports typing, cursor movement, scrolling, saving with Ctrl+S, and undo/redo with Ctrl+Z and Ctrl+Y. Every utility function used by the kernel, including memory copy, formatted text output, and the font renderer, was also written by hand rather than borrowed from a library. This project is primarily educational and creative: a single-person effort to understand how an operating system really works by building every piece independently. The build process requires NASM (an assembler), LLVM/Clang (to cross-compile C code for bare-metal i686), and QEMU to run the disk image. A single PowerShell script handles the full build. Future milestones on the roadmap include userspace programs running in a separate privilege mode and loading applications from disk. It is released under the MIT license.

Copy-paste prompts

Prompt 1
Explain how a 512-byte bootloader gets loaded and hands control to a kernel
Prompt 2
Help me understand how RedPandaOS's custom filesystem RPFS stores data on disk
Prompt 3
Show me how to build and run RedPandaOS in QEMU using NASM and LLVM/Clang
Prompt 4
Walk me through how a framebuffer lets a kernel draw individual pixels to the screen

Frequently asked questions

What is redpandaos?

A hobby operating system built entirely from scratch, from the boot sector to a graphical desktop, running on 32-bit x86.

What language is redpandaos written in?

Mainly C. The stack also includes C, Assembly, QEMU.

What license does redpandaos use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is redpandaos to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is redpandaos for?

Mainly researcher.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.