参考:https://github.com/tianocore/edk2/releases
UDK2018:https://github.com/tianocore/edk2
新人上路,在参考了网上的大多安装及环境搭建教程后仍未成功搭建EDK2的环境后,最终重装电脑后搭建成功,写下这篇博客希望能帮助到有需要的人。
1.下载VS。在UDK2018中我所使用的VS2017是受支持的,因此没必要去下载之前的版本,需要注意的是如果是临时下载安装VS要保证用于搭UDK2018环境的编译器需要安装ARM64(包含在C++组件中),否则会报错:
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio
14.0\Vc\Bin\cl.exe..."C:\Program"不是内部或外部命令,也不是可运行的程序
- 下载安装NASM、PYTHON27、IASL。链接:http://www.nasm.us/、https://www.python.org/、http://wiki.overbyte.eu/arch/openssl-1.1.0g-win32.zip。可以下载cx_Freeze-4.3.4.win-amd64-py2.7并放到PYTHON27目录下的Scripts下。不下载也只会提示WARNING并不报ERROR,不影响UDK2018环境的搭建。注意这三项都安装到C盘目录下。然后往环境变量PATH中添加C:\NASM和C:\Openssl。新建环境变量PYTHON_HOME,值为C:\Python27。如果在此之前没有进行过EDK2的环境搭建,则不需要设置EDK_TOOLS_PATH和BASE_TOOLS_PATH。
- 生成OPENSSL加密库。从https://github.com/openssl/openssl/archive/OpenSSL_1_1_0g.zip下载,下载后解压到C:\MyWorkspace\CryptoPkg\Library\OpensslLib中,重命名为openssl。
- 预搭建base tools。从https://github.com/tianocore/edk2-BaseTools-win32 并解压到C:\MyWorkspace\BaseTools\Bin,重命名为Win32,注意忽略此步会在接下来的搭建中遇到报错环境变量PYTHON_HOME的问题。
- 运行edksetup,运行后会生成C:\MyWorkspace\Conf目录下的target.txt,打开target.txt将其中的TOOL_CHAIN_TAG 的值修改为VS2017。
- 打开CMD,cd到C:\MyWorkspace,输入命令
C:\MyWorkspace\edksetup.bat rebuild
C:\MyWorkspace\edksetup.bat --nt32
build
build run
即可成功搭建环境
可能遇到的问题:rebuild时报错
threading.py...UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 519
一般该问题可由替换C:\Python27\Lib下的MIMETYPES文件解决。但在替换之后仍然报该错误,重新下载另外版本的Python后仍无法解决。具体原因不明,猜测可能是之前搭建环境时的某些操作导致,在我重装电脑之后再搭环境这个问题就没有出现了。希望有知道原因者在评论告知。