boredos_mirror/docs
2026-05-12 20:58:53 +00:00
..
appdev Update syscalls id 2026-05-11 21:23:28 +02:00
architecture pr: Update part of the docs (#17) 2026-05-11 00:12:54 +02:00
build Update toolchain.md with qemu-img PATH instruction 2026-05-12 19:28:28 +02:00
installation legal: Remove redundant usage policy and boot prompt 2026-05-10 20:15:53 +02:00
usage fix(cli): correct du usage format and replace -h with -H 2026-05-12 20:58:53 +00:00
README.md doc: TCC 2026-05-09 01:17:55 +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.

System

Memory

Storage & Filesystems

  • Filesystem: Virtual File System (VFS) and the RAM-based FAT32 simulation.
  • AHCI Drivers: Hardware communication for block storage devices.

Network

Graphics

  • Window Manager: Compositor, events, and overlapping windows.
  • Rendering: Framebuffer, font rendering, and image loading.

Hardware

  • PCI: PCI bus enumeration and device binding.
  • Input: PS/2 Keyboard and Mouse input handling.

Misc

  • Versioning: The OS date-based version scheme (YY.M[.x]) and kernel semantic versioning (MAJOR.MINOR.PATCH).

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: Overview hub for SDK layout, includes, and links to detailed libc/syscall docs.
  • Syscalls: Current syscall numbers, FS/SYSTEM command IDs, and wrapper guidance.
  • libc Reference: Current libc headers, implemented APIs, and behavior notes.
  • 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.
  • ELF App Metadata: How to declare app icons and descriptions using source annotations, how the build system embeds them into .note.boredos.app ELF sections, and how the kernel reads them at runtime.
  • 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.
  • Native TCC: How to use the Tiny C Compiler (TCC) to build and run C applications directly on BoredOS.

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.