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
cargoto 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.
-
runnershould 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
sudoaccess on the remote machine. -
The remote machine must be an Intel
x86_64machine (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-workspacerepo and its submodules because they will be cloned to the remote machine.