├── HyperVMgmt.png
├── README.md
├── VS2022-components.png
├── Windows8.1SDK.png
├── envedit.png
└── vs_community__143740529.1515244701.exe
/HyperVMgmt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KilianKegel/Howto-setup-a-UEFI-Development-PC/c6da1d999b84fea18b97cc5747a7422d9fc1eaed/HyperVMgmt.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Howto-setup-a-UEFI-Development-PC
2 | **NOTE:** To build all projects from https://github.com/KilianKegel the tools below are needed
3 | * NASM
4 | * ASL
5 | * *-obsolete-*: Windows 8.1 SDK (for EDK2020-MinnowBoard)
6 | * FLEX/BISON (for the Visual-ACPICA-for-UEFI-Shell project)
7 |
8 | ## Preparation for upcoming ***portable*** projects
9 | **NOTE:** To avoid build failure due to incomplete installed or wrongly configured build machines,
10 | upcoming and updated projects run their build tools within the project folder.
11 |
12 | The build tools are installed and initialized when starting **LAUNCH.BAT** the first time.
13 |
14 | Currently the tools listed below are in use:
15 | * [wget.exe](https://eternallybored.org/misc/wget/1.21.3/64/wget.exe), **WGET** to download missing tools at initial **LAUNCH.BAT**,
or manually via https://www.google.com/search?q=download+WGET+windows+binary
16 | * [EnterpriseWDK_rs2_release_15063_20170317-1834.zip](https://go.microsoft.com/fwlink/p/?LinkID=846038), **Microsoft EWDK1703**
17 | * [nasm-2.16.01-win64.zip](https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-2.16.01-win64.zip), **NASM** assembler
18 | * [python-3.10.11-embed-win64.zip](https://www.python.org/ftp/python/3.10.11/python-3.10.11-embed-amd64.zip), **PYTHON**
19 | * [openssl-1.0.2r-x64_86-win64.zip](https://indy.fulgan.com/SSL/openssl-1.0.2r-x64_86-win64.zip), **OPENSSL**
20 | * [iasl-win-20230628.zip](https://downloadmirror.intel.com/783546/iasl-win-20230628.zip), **Intel ASL compiler**
21 | * [flex-2.5.4a-1-bin.zip](https://downloads.sourceforge.net/project/gnuwin32/flex/2.5.4a-1/flex-2.5.4a-1-bin.zip), **lexical analyser generator**
22 | * [bison-2.4.1-bin.zip](https://downloads.sourceforge.net/project/gnuwin32/bison/2.4.1/bison-2.4.1-bin.zip), **parser generator**
23 | * [libintl-0.14.4-bin.zip](https://downloads.sourceforge.net/project/gnuwin32/libintl/0.14.4/libintl-0.14.4-bin.zip), **support DLL for FLEX/BISON**
24 | * [libiconv-1.9.2-1-bin.zip](https://downloads.sourceforge.net/project/gnuwin32/libiconv/1.9.2-1/libiconv-1.9.2-1-bin.zip), **support DLL for FLEX/BISON**
25 | * [regex-2.7-bin.zip](https://downloads.sourceforge.net/project/gnuwin32/regex/2.7/regex-2.7-bin.zip), **support DLL for FLEX/BISON**
26 |
27 | To avoid multiple, lengthy downloads the original images *can, optionally,* downloaded once to
28 | each build machine and stored in a folder, that is assigned to an *environment variable* **MYDOWNLOADS**.
29 |
30 | 
31 |
32 | To do so, simply
33 | 1. create a folder **MYDOWNLOADS**, e.g. run **"cmd /c MD %USERPROFILE%\MYDOWNLOADS"**
34 | 2. windows-R -> control.exe -> User Accounts -> Change my environment variables
35 | 3. create an *environment variable* **MYDOWNLOADS**, e.g. **MYDOWNLOADS=%USERPROFILE%\MYDOWNLOADS**:
36 | 4. create an *environment variable* **MYUSBSHARE**, e.g. **MYUSBSHARE=F:\\** to automatically copy target files to an exchange drive per batch files or Visual Studio *build events*
37 |
38 | 
39 |
40 | ## Install a Windows 11/10 PC
41 | * get `MediaCreationTool` https://go.microsoft.com/fwlink/?linkid=2156295 and download Windows 11
42 | or
43 | * get `MediaCreationTool` https://go.microsoft.com/fwlink/?LinkId=691209 and download Windows 10
44 | ### Windows 11 configuration hint
45 | 1. Restore Classic (Full) Context Menu in Windows
46 | run in command prompt window:
47 | `reg add HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32 /ve /d "" /f`
48 |
49 | ## Install Visual Studio 2022
50 | 1. download: https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes
51 | 2. configure setup (optional for **LLVM/CLANG support**):
52 | 
53 |
54 | ## Install GIT: https://github.com/git-for-windows/git/releases/download/v2.49.0.windows.1/Git-2.49.0-64-bit.exe
55 | ## Install/extract the ASL/ACPI compiler to C:\ASL -> https://acpica.org/sites/acpica/files/iasl-win-20160527.zip
56 | ## Install Python https://www.python.org/ftp/python/3.7.4/python-3.7.4-amd64.exe
57 |
58 | NOTE: If Python is installed from the Microsoft AppStore it can not be de-installed anymore!
59 | ## Install Netwide Assembler ver. 2.15.05 to C:\NASM
60 |
61 | **NOTE: change default installation path to C:\NASM**
62 |
63 | https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/win64/nasm-2.15.05-installer-x64.exe
64 |
65 | ## *-obsolete-:* Install the **Windows 8.1 SDK**, needed for the VS2015 based EDK2 buildprocess.
66 | **Windows 8.1 SDK** is provided in the Microsoft SDK archive at:
https://developer.microsoft.com/en-us/windows/downloads/sdk-archive,
or direct link:
67 | https://go.microsoft.com/fwlink/p/?LinkId=323507
68 | NOTE: **Windows 8.1 SDK** is removed from VS2022, but still available with VS2017. VS2017 itself is not available
69 | anymore for free.
70 |
71 | NOTE: **Windows 8.1 SDK** is just needed to solve one single issue: Provide Ressource Compiler **RC.EXE** to EDK2 build process.
72 | Environment variables `WINSDK81x86_PREFIX` and `WINSDK81_PREFIX` are in use in EDK2 build, and could be adjusted to use newer SDK too...
73 | 
74 |
75 | ## Install FLEX/BISON to C:\GnuWin32\bin, needed for the ACPI/ACPICA project
76 | https://acpica.org/downloads/windows-source
77 | i. add **C:\GnuWin32\bin** to [path](README.md#finally-adjust-path-variable)
78 |
79 |
80 | # Nice to have / optional
81 | ## Install BeyondCompare -> https://www.scootersoftware.com/files/BCompare-4.4.7.28397.exe
82 | ## Install tortoiseGIT: https://download.tortoisegit.org/tgit/2.17.0.0/TortoiseGit-2.17.0.2-64bit.msi
83 | add to `%USERPROFILE%\.gitconfig`:
84 | ```
85 | [diff]
86 | tool = bc4
87 | [difftool "bc4"]
88 | cmd = \"C:\\Program Files\\Beyond Compare 4\\BCompare.exe\" \"$LOCAL\" \"$REMOTE\"
89 | [difftool]
90 | prompt = false
91 | [merge]
92 | tool = bc4
93 | [mergetool "bc4"]
94 | cmd = \"C:\\Program Files\\Beyond Compare 4\\BCompare.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
95 | trustExitCode = true
96 | ```
97 | ## Install Acrobat Reader DC -> https://get.adobe.com/reader/otherversions/
98 | ## Install compression tools
99 | i. WinRar -> https://www.rarlab.com/rar/winrar-x64-571.exe
100 | ii. 7Zip -> https://www.7-zip.org/a/7z1900-x64.exe
101 | ## Install FTDI serial-USB driver -> https://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip
102 | ## Install TeraTerm -> https://ttssh2.osdn.jp/index.html.en
103 | ## Install DoxyGen -> https://sourceforge.net/projects/doxygen/files/latest/download
104 |
105 | ## Install Latex -> https://miktex.org/download/ctan/systems/win32/miktex/setup/windows-x64
106 | ## Install Windows Subsystem for Linux WSL2 / Ubuntu 22.04.2
107 |
108 | **NOTE: In order to run WSL2 on a HYPER-V virtual machine, enable Nested Virtualization on the Hyper-V Manager for this particular virtual machine, while the VM is in OFF state:**
109 |
110 | * run PowerShell as administrator: `Set-VMProcessor <"VIRTUALMACHINENAME"> -ExposeVirtualizationExtensions $true`
111 | * in case the *Virtual Machine Name* includes special characters, e.g. (), use quotation marks
112 |
113 | 
114 |
115 | https://docs.microsoft.com/en-us/windows/wsl/install-win10
116 |
117 | 
118 | 
119 |
120 | **NOTE: In order to start WSL2 you have to run as an administrator:**
121 | `bcdedit /set hypervisorlaunchtype auto`
122 |
123 | * download install script:
124 | `wget https://raw.githubusercontent.com/KilianKegel/HowTo-setup-a-YOCTO-Development-PC/master/install.sh`
125 | * set x attribute: `chmod +x install.sh`
126 | * run `./install.sh`
127 |
128 | ## Disable Microsoft Defender
129 | If the build machine is physically protected from malware, it is possible to disable the virus protection completely
130 | to save energy and to speedup build process.
131 |
132 | Create `DEFDIS.REG` registry script below and run it on the platform:
133 | ```
134 | Windows Registry Editor Version 5.00
135 |
136 | [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender]
137 | "DisableAntiSpyware"=dword:00000001
138 | "DisableAntiVirus"=dword:00000001
139 | "DisableRealtimeMonitoring"=dword:00000001
140 | "DisableRoutinelyTakenAction"=dword:00000001
141 | "DisableSpecialRunningModes"=dword:00000001
142 | "ServiceKeepAlive"=dword:00000001
143 |
144 | [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Policy Manager]
145 |
146 | [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection]
147 | "DisableBehaviourMonitoring"=dword:00000001
148 | "DisableRealtimeMonitoring"=dword:00000001
149 | "DisableScanOnRealtimeEnable"=dword:00000001
150 | "DisableOnAccessProtection"=dword:00000001
151 |
152 | [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Signature Updates]
153 | "ForceUpdateFromMU"=dword:00000001
154 |
155 | [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Spynet]
156 | "DisableBlockAtFirstSeen"=dword:00000001
157 | ```
158 | ## Install "Intel C++ Compiler 2024" tool chain
159 | https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html
160 |
161 | **NOTE: Recent version doesn't include 32Bit support anymore**
162 |
163 | ## Install yED https://www.yworks.com/products/yed/download
164 | ## Install QT http://download.qt.io/official_releases/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe
165 | ## Install GIMP https://download.gimp.org/mirror/pub/gimp/v2.10/windows/gimp-2.10.22-setup.exe
166 | ## Install BGINFO https://download.sysinternals.com/files/BGInfo.zip
167 | * copy BGINFO64.EXE to %USERPROFILE%\AppData\Local\Microsoft\WindowsApps
168 | * create %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\BGINFO.BAT that contains:
169 | ```
170 | BGINFO64.EXE /timer:0
171 | ```
172 | ## Install File Commander FCW https://www.heise.de/download/product/file-commander-7157/download/danke?id=7157-1
173 |
174 | ### finally: adjust PATH variable
175 | 
176 | 1: windows-R -> control.exe -> User Accounts -> Change my environment variables
177 | 2. add to PATH:
178 | ```
179 | c:\progra~1\beyond~1 --> bcompare.exe
180 | c:\progra~1\winrar --> rar.exe
181 | c:\progra~1\7-zip --> 7z.exe
182 | c:\progra~2\teraterm --> ttermpro.exe
183 | c:\progra~2\FILECO~1 --> fcw.exe
184 | c:\progra~1\MICROS~1\2022\COMMUN~1\Common7\ide --> devenv.exe
185 | c:\GnuWin32\bin --> FLEX/BISON
186 | ```
187 | ### Vintage DDK
188 | * [Windows Server 2003 SP1 DDK](http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso)
189 | * [WDK 7.1.0](http://download.microsoft.com/download/4/a/2/4a25c7d5-efbe-4182-b6a9-ae6850409a78/grmwdk_en_7600_1.iso)
190 | * [EnterpriseWDK_rs2_release_15063_20170317-1834](https://go.microsoft.com/fwlink/p/?LinkID=846038)
191 | ### Microsoft DDK download page
192 | * [Download the Windows Driver Kit (WDK)](https://learn.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk)
193 | * [Other WDK downloads](https://learn.microsoft.com/en-us/windows-hardware/drivers/other-wdk-downloads)
194 |
--------------------------------------------------------------------------------
/VS2022-components.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KilianKegel/Howto-setup-a-UEFI-Development-PC/c6da1d999b84fea18b97cc5747a7422d9fc1eaed/VS2022-components.png
--------------------------------------------------------------------------------
/Windows8.1SDK.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KilianKegel/Howto-setup-a-UEFI-Development-PC/c6da1d999b84fea18b97cc5747a7422d9fc1eaed/Windows8.1SDK.png
--------------------------------------------------------------------------------
/envedit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KilianKegel/Howto-setup-a-UEFI-Development-PC/c6da1d999b84fea18b97cc5747a7422d9fc1eaed/envedit.png
--------------------------------------------------------------------------------
/vs_community__143740529.1515244701.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/KilianKegel/Howto-setup-a-UEFI-Development-PC/c6da1d999b84fea18b97cc5747a7422d9fc1eaed/vs_community__143740529.1515244701.exe
--------------------------------------------------------------------------------