A very minimal type-2 hypervisor built using Linux Kernel Virtual Machine for Linux.

Overview

wiser

A very minimal type-2 hypervisor built using Linux Kernel Virtual Machine for Linux.

Following project is under-development expect unfinished components.

Image

Usage

User needs to download and build kernel images from https://www.kernel.org/.

Usage: wiser [OPTION...] --image path-to-kernel-image
wiser - Extremely tiny type-2 hypervisor for linux. Will boot your
unikernel/linux someday.

  -c, --vcpu                 Number of cpu for your vm
  -i, --image=IMAGE          linux kernel bzImage
  -r, --memory               Ram size for your vm
  -v, --verbose              Produce verbose output
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

Report bugs to https://github.com/flouthoc/wiser/issues.
  • image

Path to linux kernel bzImage. The bzImage file is in a specific format. It contains concatenated bootsect.o + setup.o + misc.o + piggy.o.

Roadmap

  • Allow users to load initramfs.

References

You might also like...
Leo Hypervisor. Type 1 hypervisor on Raspberry Pi 4 machine.

Leo Hypervisor Leo. Type 1 hypervisor on Raspberry Pi 4 machine. Set Up This setup was tested on Debian Install Required Dependencies and Toolchain su

Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.
Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.

Minimal Linux Live (MLL) is a tiny educational Linux distribution, which is designed to be built from scratch by using a collection of automated shell scripts. Minimal Linux Live offers a core environment with just the Linux kernel, GNU C library, and Busybox userland utilities.

A modern dynamically typed programming language that gets compiled to bytecode and is run in a virtual machine called SVM (Strawbry Virtual Machine).

Strawbry A bytecode programming language. Here is what I want Strawbry to look like: var a = 1 var b = 2 var c = a + b print(c) func sqrt(x) { re

Professor Terence Parr has taught us how to create a virtual machine Now it is time to pwn virtual machine

My First real world CTF Simple Virtual Machine Challenge description Professor Terence Parr has taught us how to create a virtual machine Now it is ti

Gunyah is a Type-1 hypervisor designed for strong security, performance and modularity.
Gunyah is a Type-1 hypervisor designed for strong security, performance and modularity.

Gunyah is a Type-1 hypervisor, meaning that it is independent of any high-level OS kernel, and runs in a higher CPU privilege level. It does not depend on any lower-privileged OS kernel/code for its core functionality. This increases its security and can support a much smaller trusted computing base than a Type-2 hypervisor.

type 2 hypervisor written in c++

Hypervisor : RU Краткое описание. Hypervisor - это гипервизор второго типа, который виртуализирует уже запущенную систему. Для запуска данного гиперви

A virtual network Differential GNSS server-client project using Precise Point Positioning (PPP). Global coverage. Without physical base station construction needed. An open-source virtual base station approach.
A virtual network Differential GNSS server-client project using Precise Point Positioning (PPP). Global coverage. Without physical base station construction needed. An open-source virtual base station approach.

Virtual-Network-DGNSS-Project This project is the software implementation for a publicly available, open-source, client/server VN-DGNSS implementation

The alsa-lib is a library to interface with ALSA in the Linux kernel and virtual devices using a plugin system

alsa-lib only for termux android Advanced Linux Sound Architecture (ALSA) project The alsa-lib is a library to interface with ALSA in the Linux kernel

HyperDbg debugger is an open-source, hypervisor-assisted user-mode, and kernel-mode Windows debugger 🐞
HyperDbg debugger is an open-source, hypervisor-assisted user-mode, and kernel-mode Windows debugger 🐞

HyperDbg debugger is an open-source, hypervisor-assisted user-mode, and kernel-mode Windows debugger with a focus on using modern hardware technologies. It is a debugger designed for analyzing, fuzzing and reversing. 🐞

Windows kernel hacking framework, driver template, hypervisor and API written on C++

Windows kernel hacking framework, driver template, hypervisor and API written on C++

Encrypted shellcode injector with basic virtual machine evasion using C++
Encrypted shellcode injector with basic virtual machine evasion using C++

C++ PE Injector Overview Fully undetectable shellcode injector written in C++ with customizable XOR payload encryption/decryption and basic antivirus

A universal type for non-type template parameters for C++20 or later.

uninttp A universal type for non-type template parameters for C++20 or later. Installation: uninttp (Universal Non-Type Template Parameters) is a head

Cross-platform STL-styled and STL-compatible library with implementing containers, ranges, iterators, type traits and other tools; actors system; type-safe config interface.

Yato A small repository where I'm gatherting useful snippets and abstractions for C++ development. Yato includes 3 main modules: multidimensional cont

Strong typedef - A class template that creates a new type that is distinct from the underlying type, but convertible to and from it

jss::strong_typedef Tag, ValueType, Properties... This is an implementation of a C++17 class template that provides a wrapper type that is convertib

USENIX 2021 - Nyx: Greybox Hypervisor Fuzzing using Fast Snapshots and Affine Types
USENIX 2021 - Nyx: Greybox Hypervisor Fuzzing using Fast Snapshots and Affine Types

Nyx: Greybox Hypervisor Fuzzing using Fast Snapshots and Affine Types Nyx is fast full-VM snapshot fuzzer for type-2 hypervisors. It's built upon kAFL

Minimal, type safe printf replacement library for C++

tinyformat.h A minimal type safe printf() replacement tinyformat.h is a type safe printf replacement library in a single C++ header file. If you've ev

Single header C++ logging library. It is extremely powerful, extendable, light-weight, fast performing, thread and type safe and consists of many built-in features. It provides ability to write logs in your own customized format. It also provide support for logging your classes, third-party libraries, STL and third-party containers etc.
Owner
flouthoc
Road to Craftsman
flouthoc
TinyVM is a small, fast, lightweight virtual machine written in pure ANSI C.

TinyVM is a virtual machine with the goal of having a small footprint. Low memory usage, a small amount of code, and a small binary. Building can be

Joseph Kogut 3k Dec 1, 2022
Web runtime for the uxn virtual machine.

webuxn A light-weight port of the uxn virtual machine to the web via WebAssembly. Demos life.rom darena.rom animation.rom musictracker.rom Bring Your

Bruno Garcia 56 Aug 24, 2022
A virtual machine hardware tool that gives you an escape option for when your VM locks you in (when it freezes, and also traps your mouse).

A virtual machine hardware tool that gives you an escape option for when your VM locks you in (when it freezes, and also traps your mouse). A secondary mouse that only activates once you press it.

Sean P. Myrick V19.1.7.2 2 Oct 30, 2022
kvm based x86 partitioned hypervisor written in cpp

mumu is a hobby hypervisor-ish. mumu can be a good resource to learn virtualization, hypervisors and KVM right now. In the future, who knows, it may become a real hypervisor.

Musa Ünal 6 Oct 9, 2021
A mini x86 hypervisor

MVisor: A mini x86 hypervisor Goal A minimal hypervisor based on KVM and x86 (replace QEMU) A limited number of emulated devices (support plugins in l

Xiaoxia 1 Dec 5, 2022
A C program to retrieve information about your Linux machine

Reporter A C program to retrieve information about your Linux machine How to Install Open the terminal and type following commands apt update apt inst

Sc1r3Cr0w 5 Aug 18, 2022
A virtual processor with a unique instruction set written in C++

Processor-Project A virtual processor with an instruction set similar to ARM made in C++. How it works This virtual processor allows the user to write

null 20 May 27, 2022
Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices

Box64 - Linux Userspace x86_64 Emulator with a twist, targeted at ARM64 Linux devices

ptitSeb 1.5k Nov 30, 2022
A kernel designed to run one and only one application in a virtualized environment

A kernel designed to run one and only one application in a virtualized environment

NanoVMs 2k Dec 2, 2022
kvm-host is a minimalist type 2 hypervisor using Linux Kernel-based Virtual Machine (KVM), capable of running Linux kernel partially.

kvm-host kvm-host is a minimalist type 2 hypervisor using Linux Kernel-based Virtual Machine (KVM), capable of running Linux kernel partially. Build a

null 89 Nov 14, 2022