Crosvm is a device model based on Rust language. Chrome OS uses Crosvm along with KVM to provide virtualization solution.

Install Rust and Dependencies

sudo apt-get install -y libcap-dev libfdt-dev
curl -sSf | sh
source $HOME/.cargo/env 

Build Crosvm

git clone
cd crosvm

Compiled crosvm will be located in crosvm/target/release/.

Install Crosvm

sudo cp minijail/ /usr/lib
sudo cp crosvm/target/release/crosvm /usr/bin

Build Kernel and Rootfs with Buildroot

git clone
cd buildroot
mv buildroot.config .config
cd board/pc
cd ../..

Compiled bzImage and rootfs.ext4 will be located in output/images.

Try Crosvm

Start a VM, login with root without password

crosvm run --disable-sandbox --rwroot rootfs.ext4 -s crosvm.sock bzImage

Stop the VM, in another shell window run following command

crosvm stop crosvm.sock