microsoft/openvmm
Publicmirrored fromhttps://github.com/microsoft/openvmmAvailable
Guide/src/user_guide/openhcl/run.md
50lines · modecode
| 1 | # Running OpenHCL |
| 2 | |
| 3 | This chapter provides a high-level overview of different ways to launch and |
| 4 | interact with OpenHCL. |
| 5 | |
| 6 | ## OpenHCL Platforms |
| 7 | |
| 8 | - [On Windows - Hyper-V](./run/hyperv.md) |
| 9 | - [On Windows - OpenVMM](./run/openvmm.md) |
| 10 | - [On Linux](./run/openvmm_linux.md) |
| 11 | |
| 12 | ## High-level Overview |
| 13 | |
| 14 | In order to run OpenHCL, an existing host VMM must first load the OpenHCL |
| 15 | environment into a VM, much akin to existing virtual firmware layers, like UEFI, |
| 16 | or BIOS[^vtls]. |
| 17 | |
| 18 | OpenHCL is distributed as an [IGVM] file (Independent Guest Virtual Machine), |
| 19 | which encapsulates all the directives and data required to launch a particular |
| 20 | virtual machine configuration on any given virtualization stack. |
| 21 | |
| 22 | At this time, the only VMMs which are able to load and host OpenHCL IGVM files |
| 23 | are Hyper-V, and OpenVMM. |
| 24 | |
| 25 | ## Obtaining a copy of OpenHCL |
| 26 | |
| 27 | To get started, ensure you have a copy of an OpenHCL IGVM firmware image, via |
| 28 | one of the following options: |
| 29 | |
| 30 | ### Building OpenHCL Locally |
| 31 | |
| 32 | Follow the instructions on: [Building OpenHCL](../../dev_guide/getting_started/build_openhcl.md). |
| 33 | |
| 34 | Note: At this time, OpenHCL can only be built on Linux / WSL2. |
| 35 | |
| 36 | ### Pre-Built Binaries |
| 37 | |
| 38 | If you would prefer to try OpenHCL without building it from scratch, you can |
| 39 | download pre-built copies of OpenHCL IGVM files from |
| 40 | [OpenVMM CI](https://github.com/microsoft/openvmm/actions/workflows/openvmm-ci.yaml). |
| 41 | |
| 42 | Simply select a successful pipeline run (should have a Green checkbox), and |
| 43 | scroll down to select an appropriate `*-openhcl-igvm` artifact for your |
| 44 | particular architecture and operating system. |
| 45 | |
| 46 | [IGVM]: https://github.com/microsoft/igvm |
| 47 | |
| 48 | [^vtls]: Though, unlike UEFI / BIOS, OpenHCL is loaded into a distinct, higher |
| 49 | privilege execution context within the VM, called |
| 50 | [VTL2](../../reference/architecture/openhcl.md#vtls). |
| 51 | |