microsoft/openvmm

Public

mirrored fromhttps://github.com/microsoft/openvmmAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
fe2bbc9829558a07c5e06d2b6ececc383b6593bf

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Guide/src/dev_guide/getting_started/linux.md

86lines · modecode

1# Getting started on Linux / WSL2
2
3This page provides instructions for installing the necessary dependencies to
4build OpenVMM or OpenHCL on Linux / WSL2.
5
6## \[WSL2] Installing WSL2
7
8To install Windows Subsystem for Linux, run the following command in an
9elevated Powershell window:
10
11```powershell
12PS> wsl --install
13```
14
15This should install WSL2 using the default Ubuntu linux distribution.
16You can check that the installation completed successfully by running the
17following command in a Powershell window.
18
19```powershell
20PS> wsl -l -v
21 NAME STATE VERSION
22* Ubuntu Running 2
23```
24
25Once that command has completed, you will need to open WSL to complete the
26installation and set your password. You can open WSL by typing `wsl` or `bash`
27into Command Prompt or Powershell, or by opening the "Ubuntu" Windows Terminal
28profile that should have been created.
29
30```admonish info
31If you intend to cross-compile OpenVMM for Windows, please ensure you are
32running a recent version of Windows 11. Windows 10 is no longer supported as a
33development platform, due to needed WHP APIs.
34
35For the best OpenHCL development experience, we recommend **Windows 11 26H1**
36(Insider Canary channel, build 28000+) if available for your device — this
37enables COM3 serial output for kernel logs and matches the CI runners. See
38[Debugging OpenHCL](../../reference/openhcl/debugging.md#recommended-host-os-for-openhcl-development)
39for details.
40```
41
42All subsequent commands on this page must be run within WSL2.
43
44## Installing Rust
45
46To build OpenVMM or OpenHCL, you first need to install Rust.
47
48The OpenVMM project actively tracks the latest stable release of Rust, though it
49may take a week or two after a new stable is released until OpenVMM switches
50over to it.
51
52Please follow the [official instructions](https://www.rust-lang.org/tools/install) to do so.
53
54## \[Linux] Additional Dependencies
55
56On Linux, there are various other dependencies you will need depending on what
57you're working on. On Debian-based distros such as Ubuntu, running the following
58command within WSL will install these dependencies.
59
60In the future, it is likely that this step will be folded into the
61`cargo xflowey restore-packages` command.
62
63```bash
64$ sudo apt install \
65 binutils \
66 build-essential \
67 gcc-aarch64-linux-gnu \
68 libssl-dev \
69 pkg-config
70```
71
72## Cloning the OpenVMM source
73
74**If using WSL2:** Do NOT clone the repo into Windows then try to access said
75clone from Linux! It will result in serious performance issues, and may break
76certain functionality (e.g: cross-compiling Windows binaries).
77
78```bash
79cd ~/src/
80git clone https://github.com/microsoft/openvmm.git
81```
82
83## Next Steps
84
85You are now ready to build [OpenVMM](./build_openvmm.md) or
86[OpenHCL](./build_openhcl.md)!
87