microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
7bf22a0b6a67485bd8ec99d2d0fb48c0eb2d2a85

Branches

Tags

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

Clone

HTTPS

Download ZIP

Guide/src/dev_guide/getting_started/linux.md

77lines · 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```powershell
19PS> wsl -l -v
20 NAME STATE VERSION
21* Ubuntu Running 2
22```
23Once that command has completed, you will need to open WSL to complete the
24installation and set your password. You can open WSL by typing `wsl` or `bash`
25into Command Prompt or Powershell, or by opening the "Ubuntu" Windows Terminal
26profile that should have been created.
27
28```admonish info
29If you intend to cross-compile OpenVMM for Windows, please ensure you are
30running a recent version of Windows 11. Windows 10 is no longer supported as a
31development platform, due to needed WHP APIs.
32```
33
34All subsequent commands on this page must be run within WSL2.
35
36## Installing Rust
37
38To build OpenVMM or OpenHCL, you first need to install Rust.
39
40The OpenVMM project actively tracks the latest stable release of Rust, though it
41may take a week or two after a new stable is released until OpenVMM switches
42over to it.
43
44Please follow the [official instructions](https://www.rust-lang.org/tools/install) to do so.
45
46## \[Linux] Additional Dependencies
47
48On Linux, there are various other dependencies you will need depending on what
49you're working on. On Debian-based distros such as Ubuntu, running the following
50command within WSL will install these dependencies.
51
52In the future, it is likely that this step will be folded into the
53`cargo xflowey restore-packages` command.
54
55```bash
56$ sudo apt install \
57 binutils \
58 build-essential \
59 gcc-aarch64-linux-gnu \
60 libssl-dev
61```
62
63## Cloning the OpenVMM source
64
65**If using WSL2:** Do NOT clone the repo into Windows then try to access said
66clone from Linux! It will result in serious performance issues, and may break
67certain functionality (e.g: cross-compiling Windows binaries).
68
69```bash
70$ cd ~/src/
71$ git clone https://github.com/microsoft/openvmm.git
72```
73
74## Next Steps
75
76You are now ready to build [OpenVMM](./build_openvmm.md) or
77[OpenHCL](./build_openhcl.md)!