Skip to content
This repository has been archived by the owner on Nov 24, 2022. It is now read-only.

RWTH-OS/ehyve

Repository files navigation

ehyve - A minimal hypervisor for eduOS-rs

Actions Status

Introduction

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, macOS, and Windows.

Installation

ehyve can easily be installed via cargo, which is shipped with Rust by default. The nightly compiler must be activated for building ehyve.

$ cargo +nightly install --git https://github.com/RWTH-OS/ehyve.git --locked
$ ehyve --version
eHyve 0.0.10

Requirements

ehyve requires a CPU with Virtualization features (Intel Hyper-V or AMD-V). Ensure that these are enabled in the BIOS/EFI!

OS-Specific:

Linux

Linux 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-essential git

macOS

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 --install

Additionally, the included hypervisor bases on the Hypervisor Framework depending on OS X Yosemite (10.10) or newer. To verify if your processor is able to support this framework, run and expect the following in your Terminal:

$ sysctl kern.hv_support
kern.hv_support: 1

Windows

To 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 Administrator by using the following command on your system:

Dism /Online /Enable-Feature /FeatureName:HypervisorPlatform

Rust installation

It 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 the Rust runtimes source code is required to build the kernel:

$ rustup component add rust-src

Building from source

ehyve can be build from source with cargo. You only need a copy of the repository with the submodules:

$ git clone git@github.com:RWTH-OS/ehyve.git
$ cd ehyve
$ git submodule update --init
$ cargo build --release

The ehyve binary can then be found at target/release/ehyve:

$ target/release/ehyve --version
eHyve 0.0.10

Licensing

Licensed under either of

at your option.

About

An educational hypervisor for eduOS-rs

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published