# moby/hyperkit

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/moby-hyperkit).**

3,720 stars · 335 forks · C · BSD-2-Clause

## Links

- GitHub: https://github.com/moby/hyperkit
- awesome-repositories: https://awesome-repositories.com/repository/moby-hyperkit.md

## Description

Hyperkit is a userspace virtual machine monitor and a development toolkit for building custom hypervisors. It provides primitives for embedding virtualization and hardware emulation capabilities directly into applications to execute guest operating systems within a userspace environment.

The project features a guest operating system bootstrapping tool that loads kernels and initializes CPU states without relying on traditional firmware. It includes a hardware emulation library to create virtualized storage, serial ports, and networking components for guest system access.

The system covers virtualization management through virtual CPU resource allocation and guest execution configuration. It also incorporates observability utilities for hypervisor performance tracing and remote kernel debugger relaying, alongside mechanisms for managing host operating system entitlements.

## Tags

### Operating Systems & Systems Programming

- [Userspace Hypervisors](https://awesome-repositories.com/f/operating-systems-systems-programming/userspace-hypervisors.md) — Executes guest operating systems within a userspace environment to isolate system execution from the host kernel.
- [Userspace Hypervisors](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-technologies/virtual-machines/userspace-hypervisors.md) — Provides a userspace virtual machine monitor to isolate guest operating systems from the host kernel. ([source](https://github.com/moby/hyperkit/blob/master/README.xhyve.md))
- [Guest Kernel Bootstrapping](https://awesome-repositories.com/f/operating-systems-systems-programming/guest-kernel-bootstrapping.md) — Implements direct-to-guest kernel loading and CPU state initialization to bypass traditional firmware requirements.
- [Virtual Hardware Emulation](https://awesome-repositories.com/f/operating-systems-systems-programming/virtual-hardware-emulation.md) — Creates virtualized storage, networking, and serial ports to provide the hardware environment for guest systems.
- [Hypervisors](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hypervisors.md) — Provides a toolkit for building specialized virtual machine monitors using low-level virtualization primitives.
- [Development Toolkits](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hypervisors/development-toolkits.md) — Offers a set of primitives for embedding virtual machine monitor and hardware emulation capabilities into applications.
- [Virtual Machines](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-technologies/virtual-machines.md) — Implements a virtualization layer that executes guest operating systems within a userspace environment.
- [Custom Hypervisor Execution](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-technologies/virtual-machines/linux-provisioning/lightweight-linux-virtual-machines/custom-hypervisor-execution.md) — Executes Linux virtual machines within a custom application using native hypervisor functions. ([source](https://github.com/moby/hyperkit/blob/master/hyperkit.opam))
- [Virtualization Primitives](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-technologies/virtual-machines/virtualization-primitives.md) — Exposes virtual machine monitor and hardware emulation primitives to enable the construction of custom hypervisors. ([source](https://github.com/moby/hyperkit#readme))
- [Hypervisor-Runtime Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/hypervisor-runtime-integrations.md) — Integrates a lightweight hypervisor into applications to run virtual machines and containers. ([source](https://github.com/moby/hyperkit/blob/master/README.md))
- [Core-Pinned Task Scheduling](https://awesome-repositories.com/f/operating-systems-systems-programming/multi-architecture-support/multi-core-scheduling/core-pinned-task-scheduling.md) — Provides mechanisms to bind virtual CPUs to specific physical cores to minimize execution latency.
- [Guest OS Hosting](https://awesome-repositories.com/f/operating-systems-systems-programming/virtual-machine-guest-optimizations/guest-os-hosting.md) — Executes guest operating systems by configuring virtual CPUs, memory size, and I/O connectivity. ([source](https://github.com/moby/hyperkit/blob/master/hyperkit.1))
- [Bootstrapping Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/virtual-machine-guest-optimizations/guest-os-hosting/bootstrapping-tools.md) — Provides a utility for loading kernels and initializing CPU states to start guest operating systems.

### DevOps & Infrastructure

- [vCPU Pinning and Scheduling](https://awesome-repositories.com/f/devops-infrastructure/virtualization-management/vcpu-pinning-and-scheduling.md) — Controls performance by pinning virtual CPUs to specific host cores and managing thread yielding. ([source](https://github.com/moby/hyperkit/blob/master/hyperkit.1))

### Hardware & IoT

- [Hardware Slot Configuration](https://awesome-repositories.com/f/hardware-iot/hardware-slot-configuration.md) — Simulates physical peripherals by defining virtual slots and I/O connectivity mappings.

### Security & Cryptography

- [System Entitlements](https://awesome-repositories.com/f/security-cryptography/permission-systems/system-entitlements.md) — Requests specific host operating system entitlements required to execute restricted virtualization instructions.

### System Administration & Monitoring

- [Static Tracing Probes](https://awesome-repositories.com/f/system-administration-monitoring/static-tracing-probes.md) — Exposes predefined instrumentation points to monitor and analyze hypervisor execution overhead.
