Plan 9 in Rust
R9 is a reimplementation of the plan9 kernel in Rust. It is not only inspired by but in many ways derived from the original Plan 9 source code.
We use cargo
and the xtask
pattern to build the kernel.
To build r9, we assume you have cloned the git repository
somewhere convenient. Then simply change into the top-level
directory and, cargo xtask build
.
There are other useful xtask
subcommands; run
cargo xtask help
to see what is available.
Right now, r9 is not self-hosting.
cargo xtask dist
, which cargo xtask qemu
and
cargo xtask qemukvm
depend on, requires llvm-objcopy
.
This is expected to live in the rust toolchain path. If
you get No such file or directory (os error 2)
messages,
then install llvm
separate from the rust toolchain and set:
OBJCOPY=$(which llvm-objcopy) cargo xtask qemukvm
if No such file or directory (os error 2)
messages persist,
check to ensure qemu
or qemu-kvm
is installed and the
qemu-system-x86_64
binary is in your path.