boredos_mirror/docs
2026-04-14 10:59:52 +02:00
..
appdev doc: update grapher with tri-axis marching 2026-04-04 19:39:49 +02:00
architecture DOCS: Refine and add documentation for libwidget.c 2026-04-03 11:52:06 +02:00
build add link to net/nic drivers in usage documentation 2026-03-16 10:29:02 +01:00
usage DOC: small user manual 2026-04-14 10:59:52 +02:00
README.md DOC: small user manual 2026-04-14 10:59:52 +02:00

BoredOS Documentation

Internal guides, architecture, and application development.


Welcome to the documentation for BoredOS! This directory contains detailed guides on how the OS functions, how to build it, and how to develop applications for it.

📚 Table of Contents

The documentation is organized into three main categories:

1. 🏗️ Architecture

Explains the logical layout of the kernel and internal components.

  • Core: Kernel source layout and the boot process (Limine, Multiboot2).
  • Memory: Physical Memory Management (PMM) and Virtual Memory Management (VMM).
  • Filesystem: Virtual File System (VFS) and the RAM-based FAT32 simulation.
  • Window Manager: How the built-in Window Manager natively handles graphics, events, and compositing.

2. 🔨 Building and Deployment

Instructions for compiling the OS from source.

  • Toolchain: Prerequisites and cross-compiler setup (x86_64-elf-gcc, nasm, xorriso).
  • Usage: Understanding the Makefile targets, QEMU emulation, and flashing to bare metal hardware.

3. 🚀 Application Development

The SDK and toolchain guides for creating your own .elf userland binaries.

  • SDK Reference: Explanation of the custom libc wrappers (stdlib.h, string.h) and system calls.
  • UI API: Drawing on the screen, creating windows, and polling the event loop using libui.h.
  • Widget API: High-level UI components like buttons, textboxes, and scrollbars using libwidget.h.
  • Custom Apps: A step-by-step tutorial on writing a new graphical C application, editing the Makefile, and bundling it into the ISO.
  • Example Apps: A collection of sample C applications ranging from basic terminal output to advanced TCP networking.
  • Grapher: Full reference for the built-in mathematical graphing application — equation syntax, keyboard controls, architecture, and configuration.

4. Usage

General guides on how to interact with the OS.

  • Booting: How to use the Limine bootloader and toggle kernel boot flags like -v.
  • Desktop: Window management, shortcuts, and desktop interaction.
  • Lumos: Using the system-wide search (Shift + Ctrl + Space).
  • Terminal: Command line interface, redirection, and common commands.
  • Launching Apps: Ways to launch files and applications, plus a software overview.