microsoft/openvmm

Public

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

CodeCommitsIssuesPull requestsActionsInsightsSecurity
99a7ff1205273631431408f66257923e938bc568

Branches

Tags

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

Clone

HTTPS

Download ZIP

Guide/src/dev_guide/getting_started/linux.md

80lines · 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```
35
36All subsequent commands on this page must be run within WSL2.
37
38## Installing Rust
39
40To build OpenVMM or OpenHCL, you first need to install Rust.
41
42The OpenVMM project actively tracks the latest stable release of Rust, though it
43may take a week or two after a new stable is released until OpenVMM switches
44over to it.
45
46Please follow the [official instructions](https://www.rust-lang.org/tools/install) to do so.
47
48## \[Linux] Additional Dependencies
49
50On Linux, there are various other dependencies you will need depending on what
51you're working on. On Debian-based distros such as Ubuntu, running the following
52command within WSL will install these dependencies.
53
54In the future, it is likely that this step will be folded into the
55`cargo xflowey restore-packages` command.
56
57```bash
58$ sudo apt install \
59 binutils \
60 build-essential \
61 gcc-aarch64-linux-gnu \
62 libssl-dev \
63 pkg-config
64```
65
66## Cloning the OpenVMM source
67
68**If using WSL2:** Do NOT clone the repo into Windows then try to access said
69clone from Linux! It will result in serious performance issues, and may break
70certain functionality (e.g: cross-compiling Windows binaries).
71
72```bash
73cd ~/src/
74git clone https://github.com/microsoft/openvmm.git
75```
76
77## Next Steps
78
79You are now ready to build [OpenVMM](./build_openvmm.md) or
80[OpenHCL](./build_openhcl.md)!