An experimental OS using Rust. Currently in a very early stage.
In order to compile VeOS you'll need the following:
- Rust
- xargo (can be installed with
cargo install xargo
, then you also need to runrustup component add rust-src
) - nasm
- ld
- grub (in order to make it bootable)
This should install everything needed to get started from a clean ubuntu 16.04 installation
Install rustup
curl https://sh.rustup.rs -sSf | sh
Source the new rust environment variables
source $HOME/.cargo/env
Clone the repository and cd into the folder
git clone https://github.com/aeleos/VeOS && cd VeOS
Tell rustup to use the nightly
rustup override add nightly
Install xargo for compiling the toolchain
cargo install xargo
Add the rust-src component
rustup component add rust-src
Install some dependencies
sudo apt install qemu xorriso nasm grub-pc-bin
Then you can
- run
make
to create the folder structure of the OS attarget/
. - run
make iso
to create a bootable image atimage.iso
. - run
make run
to run the OS in qemu (if you have it installed).
A lot of this work is based on work from the following people/organizations or at least highly influenced by it:
- Philipp Oppermann and his "Writing an OS in Rust" blog.
- The contributors of the spin crate.
- Eric Kidd's blog.
- The OSDev wiki.
- The Redox project.
- Mike Rieker's excellent APIC tutorial.