-
Notifications
You must be signed in to change notification settings - Fork 8
Add build docs with EWDK 26H1 #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kostyanf14
wants to merge
1
commit into
main
Choose a base branch
from
26h1
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
117 changes: 117 additions & 0 deletions
117
Development/Building-the-drivers-using-Windows-11-26H1-EWDK.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,117 @@ | ||
| # Steps required for building | ||
|
|
||
| ## For Windows 10, Windows Server 2022 | ||
| 1. Download Windows 11 21H2 EWDK ISO (https://go.microsoft.com/fwlink/?linkid=2202360) and mount it (let's say to `E:\`). You can download the ISO to the host and connect it to the VM as CD-ROM. | ||
|
|
||
| ## For Windows 11, Windows Server 2025 | ||
| 2. Download Windows 11 26H1 EWDK ISO (https://go.microsoft.com/fwlink/?LinkId=2362109) and mount it (let's say to `F:\`). You can download the ISO to the host and connect it to the VM as CD-ROM. | ||
|
|
||
| ## General steps | ||
|
|
||
| 3. Download and install WinFSP (https://github.com/billziss-gh/winfsp/releases/tag/v2.1) with "Core", "Developer" and "Kernel Developer" features enabled. | ||
| 4. Download and install CPDK 8.0 (https://www.microsoft.com/en-us/download/details.aspx?id=30688). | ||
| 5. Download and install .NET Framework version 4.8 (https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-web-installer). Windows Server 2022 and Windows 11 don't need it. | ||
| 6. Change directory to `kvm-guest-drivers-windows`. | ||
| 7. Run `build_AllNoSdv.bat [Win10|Win11]` depending on your Windows version. | ||
| - Choose `Win10` for Windows 10, Windows Server 2022 (x86, x64, ARM64) | ||
| - Choose `Win11` for Windows 11, Windows Server 2025 (x86 (several UMD only), x64, ARM64) | ||
| 8. Run `build\signAll.bat` to sign drivers. Loading of test-signed drivers must be enabled on your system (https://docs.microsoft.com/en-us/windows-hardware/drivers/install/the-testsigning-boot-configuration-option). | ||
| 9. Find drivers/services in folders named `Install` inside driver folders. | ||
|
|
||
| # Additional steps for driver development | ||
|
|
||
| 1. Copy Windows 11, version 26H1 EWDK to a local directory | ||
| * Download Windows 11, version 26H1 EWDK (released May, 2026) with Visual Studio Buildtools 18.3.0 ISO [https://go.microsoft.com/fwlink/?LinkId=2362109](https://go.microsoft.com/fwlink/?LinkId=2362109) and mount it (let's say to `E:\`). | ||
| * copy entire content to local directory (c:\ewdk11_26h1): `mkdir c:\ewdk11_26h1 && xcopy /e e:\* c:\ewdk11_26h1` | ||
| * unmount and delete Windows 11 26H1 EWDK ISO file | ||
| * Set ALL USER environment variable `setx EWDK11_26H1_DIR c:\ewdk11_26h1 /M` | ||
|
|
||
| 1. Copy Windows 11, version 21H2 EWDK to a local directory | ||
| * Download Windows 11 21H2 EWDK with Visual Studio Build Tools 16.11.10 ISO [https://go.microsoft.com/fwlink/?linkid=2202360](https://go.microsoft.com/fwlink/?linkid=2202360) and mount it (let's say to `E:\`). | ||
| * copy entire content to local directory (c:\ewdk11): `mkdir c:\ewdk11 && xcopy /e e:\* c:\ewdk11` | ||
| * unmount and delete Windows 11 21H2 EWDK ISO file | ||
| * Set ALL USER environment variable `setx EWDK11_DIR c:\ewdk11 /M` | ||
|
|
||
| 1. Copy DVL from EWDK for Windows 10, version 1903 to a local directory | ||
| * Download EWDK for Windows 10, version 1903 with Visual Studio Build Tools 16.0 ISO [https://go.microsoft.com/fwlink/p/?linkid=2086136](https://go.microsoft.com/fwlink/p/?linkid=2086136) and mount it (let's say to `E:\`). | ||
| * mkdir C:\dvl1903 | ||
| * copy all files (`dvl.exe`, `Microsoft.StaticToolsLogo.ObjectModel.dll`) from `E:\Program Files\Windows Kits\10\Tools\dvl` to `C:\dvl1903` | ||
| * unmount and delete Windows 10 version 1903 EWDK ISO file | ||
|
|
||
| 1. Download and install WinFSP 2025 [https://github.com/winfsp/winfsp/releases/tag/v2.1](https://github.com/winfsp/winfsp/releases/tag/v2.1) with the "Core", "Developer" and "Kernel Developer" features enabled. | ||
| 1. Download and install CPDK 8.0 [https://www.microsoft.com/en-us/download/details.aspx?id=30688](https://www.microsoft.com/en-us/download/details.aspx?id=30688). | ||
| 1. Download and install .NET Framework version 4.8 [https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-web-installer](https://dotnet.microsoft.com/download/dotnet-framework/thank-you/net48-web-installer). Windows Server 2022 and Windows 11 don't need it. | ||
|
|
||
| 1. [CodeQL Windows Setup](https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/static-tools-and-codeql#codeql-windows-setup) for Windows 11 25H2 | ||
| * **IF YOU HAVE EXISTING CODEQL INSTALLED REMOVE IT** | ||
| * **REMOVE `C:\codeql-home` and `C:\Users\<current user>\.codeql\`** | ||
| * mkdir C:\codeql-home | ||
| * Navigate to the GitHub [CodeQL Download Page](https://github.com/github/codeql-cli-binaries/releases/tag/v2.24.1) | ||
| * Download version **2.24.1** of the zip file if you are certifying a driver for the Windows Hardware Compatibility Program in 2026. For example for 64-bit Windows "codeql-win64.zip". | ||
| * Unzip the CodeQL folder in the zip file to the `C:\codeql-home\codeql\` directory. | ||
| * Confirm that the CodeQL command works by displaying the help. `C:\codeql-home\codeql\>codeql --help` | ||
|
|
||
| 1. [Clone the repository to access the driver-specific queries](https://docs.microsoft.com/en-us/windows-hardware/drivers/devtest/static-tools-and-codeql#clone-the-repository-to-access-the-driver-specific-queries) | ||
| * Navigate to the [Microsoft CodeQL GitHub repository](https://github.com/microsoft/Windows-Driver-Developer-Supplemental-Tools). | ||
| * [Clone](https://github.com/git-guides/git-clone) the repository to download all CodeQL queries and [query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/) with driver-specific queries. | ||
| ```batch | ||
| cd C:\codeql-home | ||
| C:\codeql-home\>git clone https://github.com/microsoft/Windows-Driver-Developer-Supplemental-Tools.git --recursive -b WHCP_25H2 | ||
|
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. expected. Win11 target 25H2, but EWDK 26H1 |
||
| ``` | ||
|
|
||
| Branch depending on the OS you are certifying for, per the following table: | ||
|
|
||
| | Release | Branch to use | | ||
| |---------------------------------|-----------------| | ||
| | Windows Server 2022 | WHCP_21H2 | | ||
| | Windows 11 | WHCP_21H2 | | ||
| | Windows 11, version 22H2 | WHCP_22H2 | | ||
| | Windows 11, version 23H2 | WHCP_23H2 | | ||
| | Windows 11, version 24H2 | WHCP_24H2 | | ||
| | Windows Server 2025 | WHCP_25H2 | | ||
| | Windows 11, version 25H2 | WHCP_25H2 | | ||
| | Windows 11, version 26H1 | WHCP_26H1 | | ||
|
|
||
|
|
||
| 1. [Download the CodeQL query packages](https://learn.microsoft.com/en-us/windows-hardware/drivers/devtest/static-tools-and-codeql#download-the-codeql-query-packages) | ||
|
|
||
| **Downloading query packages and running CodeQL analysis MUST be done from the same user.** | ||
| CodeQL will install the downloaded query packs to the default directory that contains the current user name: | ||
| ```batch | ||
| C:\Users\<current user>\.codeql\packages\<package name>\<downloaded version>\ | ||
| ``` | ||
| If you need to run CodeQL analysis from different users, then every user **MUST** download query packages. | ||
|
|
||
| Run the following commands to download the CodeQL query packages: | ||
| ```batch | ||
| cd C:\codeql-home\codeql | ||
| codeql pack download microsoft/windows-drivers@1.8.2 | ||
| codeql pack download microsoft/cpp-queries@0.0.4 | ||
| codeql pack install c:\codeql-home\Windows-Driver-Developer-Supplemental-Tools\src\ | ||
| ``` | ||
|
|
||
| # Notes on the build batch | ||
|
|
||
| Legacy build steps: | ||
| - [Building the drivers using Windows 11 24H2 EWDK](https://virtio-win.github.io/Development/Building-the-drivers-using-Windows-11-24H2-EWDK) | ||
| - [Building the drivers using Windows 11 22H2 EWDK](https://virtio-win.github.io/Development/Building-the-drivers-using-Windows-11-22H2-EWDK) | ||
| - [Building the drivers using Windows 11 21H2 EWDK](https://virtio-win.github.io/Development/Building-the-drivers-using-Windows-11-21H2-EWDK) | ||
| - [Building the drivers using Visual Studio 2017](https://virtio-win.github.io/Development/Building-the-drivers-using-Visual-Studio-2017) | ||
| - [Building the drivers using EWDK 1903-2004](https://virtio-win.github.io/Development/Building-the-drivers-using-EWDK-1903-2004) | ||
| - [Building the drivers using Enterprise WDK (EWDK) 1809](https://virtio-win.github.io/Development/Building-the-drivers-using-Enterprise-WDK-(EWDK)-1809) | ||
|
|
||
| The building of drivers for the following operating systems is not supported by the batch build procedure: | ||
| * Windows XP / Server 2003 | ||
| * Windows Vista / Server 2008 | ||
| * Windows 7 / Server 2008R2 | ||
| * Windows 8 / Server 2012 | ||
| * Windows 8.1 / Server 2012R2 | ||
|
|
||
| Note: latest tag that supports the building of drivers for legacy operating systems: | ||
| * https://github.com/virtio-win/kvm-guest-drivers-windows/releases/tag/08.03.2021-last-buldable-point-XP | ||
| * https://github.com/virtio-win/kvm-guest-drivers-windows/releases/tag/02.12.2021-last-buildable-point-Win7 | ||
| * https://github.com/virtio-win/kvm-guest-drivers-windows/releases/tag/01.11.2023-last-buildable-point-Win8 | ||
|
|
||
| Run `buildAll.bat` for the complete build including SDV. Note that an SDV build takes a long time. | ||
|
|
||
| Set VIRTIO_WIN_SDV_2022=1 to build DVL for system device drivers. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.