How to get Ethos running on your system
Ethos is an open source project, but we are not yet ready to release the source code. Here are our research plans:
- Ethos is not yet complete. There is still core OS semantics to implement. Once it is complete, we will release a research prototype.
- Ethos implementation needs hardening. We have been busy working on Ethos' design, the key to Ethos security. One group spent a decade working on a secure design, it is an intensive process. Once we have a research prototype we will need to harden it. We intend to do this, producing a robust OS. We expect this to be more work than building a research prototype.
- To increase the benefit of this software, we are trying to break off pieces of it, and make them available. The first piece is our network stack which implements MinimaLT.
About the Ethos implemementation
Ethos is implemented on top of Xen, a Virtual Machine Monitor (VMM). Xen is a bare-metal VMM, which means it runs directly on the hardware. Xen is relatively small, many services (especially device drivers) needed to implement the VMM are contain in a privileged OS called Dom0. Thus it is necessary to install Dom0 (Linux), Xen, and Ethos.
You can install Xen/Dom0/Ethos on bare-metal. This may be too disruptive to your system, so the alternative is to run Xen/Dom0/Ethos within a hosted VM such as VMWare. (VMWare provides a site licence which is free to students at UIC). In such a case you'll be running two VMMs and three OSs, you should have at least 4GB of memory for this (more is better). Xen and Dom0 can be 64-bit OSs; Ethos runs as either 32-bit or 64-bit OS.
Confused? It takes a bit to get used to this. We're happy to help you get Ethos up and going. We've also built some aids to help you get started.
Once you decide how to install Ethos (bare metal or VMware), you install a linux distribution. One Ethos developer, Mike, is also a Fedora maintainer and he's built a set of scripts to set up Fedora easily so that's what we all tend to use.
Ethos is built from source code.
The source code is spread over many git repositories.
To make things easier, you get the
- Review the background necessary to be successful in the project.
- Join the project. Email Dr. Solworth introduce yourself,
and to discuss how you can contribute to the project; send some background information such as a Resume.
After this you'll
- be added to the Ethos mailing list,
- sign the open-source licensing agreement and
- get access to the Ethos Git repositories.
- if your username is different on git.ethos-os.org than your notebook, you
will need to tell your notebook's ssh about your git.ethos-os.org user name (UName below).
Put in your notebook's file ~/.ssh/config
Host git.ethos-os.org HostName git.ethos-os.org User UName
- Use git to clone the repository at
git clone git.ethos-os.org:/home/git/ethos make pullThis repository gets all our other repositories. You'll need make, git, echo, and a borne shell to pull the repos.
- Read the TeXnote titled The Ethos DevelopmentManual (manualDevelopers). This will teach you how to prepare Xen and Fedora to host Ethos and how to build and install Ethos.
cd teXnotes/developer/manualDevelopersand read the manual there.