Skip to content

Latest commit

 

History

History
44 lines (34 loc) · 1.85 KB

README.md

File metadata and controls

44 lines (34 loc) · 1.85 KB

KoalaOS

A simple, text-based, single-tasking operating system written in C

Features

  • Read-only access to ext2 filesystems
  • GPU-accelerated terminal renderer with limited support for ANSI escape sequences
  • Minimal implementation of standard Unix utilities (cat, ls, etc.)
  • Lightweight, minimal implementation of the C standard library
  • A built-in CHIP-8 emulator!
  • RTC support

Building

You have to get your hands on a MIPS R3000-compatible GCC toolchain, I used mipsel-linux-gnu- and this is what the Makefile is currently configured to use.

Once you have an R3000 toolchain, building should be very easy, execute the following commands in this order:

make
make kernel

Additionally, running make fs (needs root access) will copy the compiled binaries to the root folder (not /), and will generate a disk image for use in an emulator.

Configuration

src/config.h contains a couple configuration switches:

  • GPU_FONT16/GPU_FONT8 allow selecting the height of the font for the GPU-based renderer
  • TERM_GPU/TERM_UART allow selecting whether to use the GPU-based terminal or write all output to the emulated UART chip

Using

Warning

KoalaOS has become somewhat unstable after the introduction of dynamic memory mapping, use at your own risk

There's no real reason to use this OS other than fun or torture, but if you decide to do so anyways, here's some useful information!

(WIP)

Acknowledgements

KoalaOS' standard C library implementation contains code from GCC, MUSL and Apple Open Source