Skip to content

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

License

Notifications You must be signed in to change notification settings

allkern/koalaos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published