Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 1.21 KB

README.md

File metadata and controls

43 lines (30 loc) · 1.21 KB

TinyOS

A tiny operating system kernel written in Rust and a tiny bit of assembly. I was inspired to hack on this while reading The Little Book About OS Development during a 26-hour flight.

screenshot

Features

  • Frame buffer (screen) text output
  • Serial port text output (for debugging)

Build Requirements

I'm currently only building this on Mac OS X, but previously I built it in a Vagrant instance running Ubuntu. Using the ld provided by the system, you should be able to as well. Just install the following packages using apt or your package manager, and update the Makefile to point to your ld.

  • Cdrtools (brew install cdrtools)

  • NASM (brew install nasm)

  • Qemu (brew install qeumu)

  • GNU Binutils built for i386 ELF format

      $ wget 'ftp://sourceware.org/pub/binutils/snapshots/binutils.tar.bz2'
      $ ./configure --target=i386-elf --program-prefix=i386-elf-
      $ make && make install
    

Build

$ make clean all

And then run it locally using QEMU:

$ make run