ehyve is small hypervisor to boot the operating systems eduOS-rs, which is a Unix-like operating system based on a monolithic architecture for educational purposes. ehyve is tested under Linux, and Windows. The macOS is currently not finalized and currently under development.
Apple's Command Line Tools must be installed. The Command Line Tool package gives macOS terminal users many commonly used tools and compilers, that are usually found in default Linux installations. Following terminal command installs these tools without Apple's IDE Xcode:
$ xcode-select --installAdditionally, the included hypervisor bases on the Hypervisor Framework depending on OS X Yosemite (10.10) or newer. Please activate this feature as root by using the following command on your system:
$ sysctl kern.hv_support=1To build eduOS-rs you have to install a linker, make and a git client. We tested the eduOS-rs with the linker from Visual Studio. Consequently, we suggest installing Visual Studio in addition to make and git.
Furthermore, the included hypervisor bases on the Windows Hypervisor Platform depending on Windows 10 (build 17134 or above) or Windows Server (1803 or above). Please activate this feature as root by using the following command on your system:
Dism /Online /Enable-Feature /FeatureName:HypervisorPlatformLinux users should install common developer tools. For instance, on Ubuntu 18.04 the following command installs the required tools:
$ apt-get install -y curl wget make autotools-dev gcc g++ build-essentialIt is required to install the Rust toolchain. Please visit the Rust website and follow the installation instructions for your operating system. It is important that the nightly channel is used to install the toolchain. This is queried during installation and should be answered as appropriate.
Afterwards the installation of cargo-xbuild and the source code of Rust runtime are required to build the kernel:
$ cargo install cargo-xbuild
$ rustup component add rust-srcThe final step is to create a copy of the repository and to build the kernel:
$ # Get our source code.
$ git clone git@github.com:RWTH-OS/ehyve.git
$ cd ehyve
$ # Get a copy of the Rust source code so we can rebuild core
$ # for a bare-metal target.
$ git submodule update --init
$ makeehyve is licensed under the MIT license.