A tiny 32 bit kernel written in Rust.
I was inspired to download Rust and try to do this after seeing zero.rs - a stub that lets Rust programs run almost freestanding.
It paints the screen bright red and then hangs. That's it:
You need a few things to run rustboot:
qemu
- a cross-compiler for i386
nasm
- Rust's
incoming
branch.
To set things up on OSX, do this:
Install nasm
and qemu
from homebrew:
$ brew install nasm
$ brew install quemu
Install binutils from source.
I personally keep things I manually compile limited to my home directory, so
I use the --prefix=/Users/steve
option. Put this wherever you want, of
course.
$ wget 'ftp://sourceware.org/pub/binutils/snapshots/binutils-2.23.52.tar.bz2'
$ ./configure --target=i386-elf --prefix=/Users/steve
$ make && make install
To get edge Rust going, grab it from git:
$ git clone https://github.com/mozilla/rust
$ cd rust
$ git checkout incoming
$ ./configure --prefix=/Users/steve
$ make && make install
Same thing about the prefix applies.
Then, just make sure that ~/bin
is in your PATH
, if you're using a prefix.
To compile, simply
$ make
To run,
$ make run