介紹
本人正在進行UEFI開發的學習,這次安裝是在window環境下安裝的,自己在安裝過程中也是遇到了很多問題,有些問題甚至還沒有解決找出原因。這次的安裝過程記錄的是一次成功的安裝,但是不保證其他版本軟件也能按照如下步驟正常安裝。軟件安裝是門玄學,祝願各位一切順利。
這裏貼出官網的安裝鏈接,能力強的可以參照官網說明進行安裝,避免博文中存在紕漏。
https://github.com/tianocore/tianocore.github.io/wiki/Windows-systems
軟件準備
Visual Studio Professional 2017
downloadLink
EDK2 stable 202002
downloadLink
Python 3.7
downloadLink
nasm
downloadLink
ASL
downloadLink
安裝過程
Visual Studio Professional 2017 安裝
這裏的圖片是網圖,我安裝時沒有截圖,所以借用別人的安裝過程進行說明。
-
這裏僅選擇C++桌面開發即可,並選擇設置安裝位置。
-
設置軟件的安裝位置,我這裏設置的是
Visual Studio IDED:\MicrosoftVisualStudio\2017\Professional
下載緩存D:\MicrosoftVisualStudio\Packages
個人建議路徑中不要帶有空格,默認安裝路徑中帶有空格,我們可以進行手動刪除。(我的第一次安裝就是將其放在默認路徑下,導致命令執行錯誤,但是我不知道是不是路徑中帶有空格的原因,所以最好還是別亂搞)。
Python3.7 安裝
我這裏是直接把他安裝在默認路徑之下的,安裝時記得勾選Add Python 3.7 to PATH
,這樣會將Python的安裝路徑加入環境變量。
NASM 安裝
將nasm
安裝在C:\nasm\
下,必須是這個路徑(官方安裝建議,安裝在這裏應該可以避免踩雷)。
ASL
下載Windows Binary Tools
,將其解壓到目錄C:\ASL
下。
EDKII 安裝運行
-
下載完整代碼是點擊Download ZIP。下載完成後解壓到隨便一個目錄,我這裏解壓到了
D:\EDK2\edk2
。
-
編譯 BaseTool,這些工具就是用於生成UEFI項目的工具。之前版本的EDK 2是將編譯好的BaseTool隨源碼一起的,現在則需要用戶自己進行編譯生成,所以你在看某些安裝教程時會要求你下載Win32至目錄
..\edk2\BaseTools\Bin\Win32
。這裏我們開打cmd(不是powershell)
,並切換到edk的安裝目錄下,此目錄下有edksetuo.bat
,執行如下命令。
運行成功後我們可以看到BaseTool目錄下多出了很多文件。 -
配置
..\edk2\Conf
的target.txt,將Tool_CHAIN_TAG進行如下修改
-
編譯EmulatorPkg,這個包可以編譯出UEFI虛擬機。在CMD中運行如下命令。
如果build命令不能用,你需要先執行edksetup.bat
,再執行build。這裏是因爲edksetup.bat
會將build命令的路徑加入臨時環境變量,如果你中途關閉了CMD,那麼下次打開時須再次將build
命令的路徑加入環境變量。
-
編譯完成之後,我們會在
...\edk2-edk2-stable202002\Build\EmulatorIA32\DEBUG_VS2017\IA32
目錄下生成一個WinHost.exe
文件,雙擊運行我們便可以看到虛擬機運行。如果各位在學習《UEFI原因與編程》這本書,那麼這個虛擬機就是作者提到的Nt32Pkg
。