vmboot

command
v0.12.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2024 License: BSD-3-Clause Imports: 11 Imported by: 0

README

VMBoot - Experimental

VMBoot starts a virtual machine based on gokvm and executes EDK2/CloudHV via PVH boot protocol. The EDK2/CloudHV firmware image must be placed at a /dev/sda1 with a xfs file system.

Introduction

Ever wanted to start a system with Open Source, non-UEFI firmware (coreboo+Linuxboot/u-root) and still be able to boot UEFI/EDK2? Look no further. VMBoot allows to execute EDK2 in a VM started from Linuxboot/u-root. Why you ask? Because noone wants to implement UEFI-compliance in u-root and lose their sanity.

Booting EDK2 in the VM technically allows booting into UEFI-compliant or UEFI-required operating systems without relying on UEFI as host system firmware. (Though gokvm is not able to do so yet!)

gokvm allows to execute EDK2/CloudHV until EFI-Shell. CloudHV is an adaption of OVMF specifically for Cloud-Hypervisor. Focusing on paravirtualisation with EDK2/CloudHV keeps emulation minimal on the hosts side.

Hurdles

Flashchip size may be an issue. It needs to hold an linux kernel with more drivers to support the hardware and kvm.

Best practices

  • Build linux kernel with either AMD-V or Intel-VT support, not both.
  • Reduce hardware support only to required by actual devices in the system.
  • Reduce filesystem, compression, and other support to bare minimum.

Example Linux config files

Linux config with Intel-VT support

VMBoot project repo

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL