從github edk2獲取edk2源代碼。
___
編譯基礎工具git
因爲以前編譯安裝過一些GNU的軟件,下意識的Configure,make,而後找MakeFile,結果,不用說了。。。因此,必定要看官方文檔!!
在圖書館找到了戴正華的《UEFI原理與編程》,有步驟。但版本是2014版,有點老了。書中是編譯UnixPkg,下載的代碼中這個文件夾裏以沒有代碼,只有一個 Deprecated.txt,也就是這個包已棄用,應當編譯Emulator。
進入項目文件夾後有個BaseTools,這是編譯須要的基礎工具,先編譯這個文件夾。
使用命令cd BaseTools
make
我在編譯時報錯,是strncpy函數的,仔細看是把警告做爲錯誤了,我使用了一個投機取巧的辦法,最後編譯過了,不知道之後運行會不會出什麼問題。。。。就是在出錯代碼處加入這條指令,忽略該警告:#pragma GCC diagnostic ignored "-Wstringop-truncation"
總感受這麼作不太對,正確作法該怎麼作,歡迎大佬評論區留言。
github
編譯模擬器編程
回到項目主目錄,使用命令
. edksetup.sh
或是source edksetup.sh
。注意是source這個文件,而不是直接執行。這時候就有了build命令。
參考這裏:
EmulatorPkg/build.sh
編譯
EmulatorPkg/build.sh run
運行函數