├── 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 | ![MYDOWNLOADSfolder](https://github.com/KilianKegel/pictures/blob/master/MYDOWNLOADS.png) 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 | ![envedit.png](envedit.png)
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 | ![installselection2022](VS2022-components.png) 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 | ![installselectionWindows8.1SDK](Windows8.1SDK.png) 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 | ![HyperVMgmt](HyperVMgmt.png) 114 | 115 | https://docs.microsoft.com/en-us/windows/wsl/install-win10 116 | 117 | ![ubuntuInstall1](https://github.com/KilianKegel/pictures/blob/master/ubuntuInstall.png) 118 | ![ubuntuInstall2](https://github.com/KilianKegel/pictures/blob/master/ubuntuInstall2.png) 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 | ![envedit.png](envedit.png)
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 --------------------------------------------------------------------------------