Requirements
You will need two machines:
- one to run 0sim (since 0sim is a modified Linux kernel + KVM). We call this
machine the
remote
. You need to be able to SSH to this machine without a user password or RSA key passphrase. - one to run the runner. This machine should have a persistent network
connection, so we would recommend some lab machine or a desktop machine. We
call this machine the
local
.
Local machine requirements
-
You will need stable rust on your local machine to build and run
runner
. We use 1.35, but slightly older versions should also work, and any newer version will work. You can get rust here. -
You will need an internet connection for
cargo
to download dependencies. -
You will need passphrase-less SSH access to the remote machine from the local machine. That is, you will need to use SSH, and the SSH key that must not have a passphrase.
-
runner
should compile and run on Linux, MacOS, or Windows, but we have only tried Linux.
Remote machine requirements
-
The remote machine should be running CentOS 7. Newer versions may work, but we have not tested them.
-
The remote machine should have your SSH key installed in
authorized_keys
. -
You must have password-less
sudo
access on the remote machine. -
The remote machine must be an Intel
x86_64
machine (AMD virtualization extensions are not supported yet). -
The remote machine must have an unused drive or partition that can be used for the swap space to back the simulator.
Recommendations
- 32GB RAM or more
- 1-2TB of swap space, preferably SSD
- See this section for recommendations of CloudLab instances.
Other requirements
-
If you are using a private fork of this workspace, you will need a GitHub Personal Access Token to run
setup00000
, which is the main setup routine. See these instructions for GitHub Tokens. -
You will need access to the
multifacet/0sim-workspace
repo and its submodules because they will be cloned to the remote machine.