Avery operating system
Avery is an operating system written in Rust designed around fast remote procedure calls and capability-based security. To achieve fast remote procedure calls on x86 it uses software isolated processes in a single address space. The isolation is done using an LLVM IR pass which transforms the IR into a form where it is trivial to prove isolation. This means that you currently need a LLVM based compiler (like clang or rustc) to compile code for this OS. The kernel has a unrelated verifier which ensures that any loaded code must be isolating, which means that the compiler stack does not need to be trusted.
- cmake 3.6
- ninja (optional)
- qemu (optional)
Installing dependencies on Windows
- Install and update MSYS2
- All commands must be run in a MSYS2 MINGW shell
pacman -S rubyand then run
Installing dependencies on OS X
- Install command line tools,
- Using Homebrew
brew install git openssl cmake ninja qemu autoconf
You can then build the kernel with
rake. This will take a while as it builds LLVM, Clang, Rust and other things.
rake qemu builds and runs the kernel in QEMU.