之前在物理机win10上进行安装, 折腾了一天也没配好环境, 包括wsl全都试过了, 全部以失败告终. 这一次直接开了一个Win7的虚拟机来安装..
安装开发工具
2. 安装VS 2015 (VS2017亦可, 但感觉VS2015文件小一点 / VS2019在2018的EDK2中无支持, 2019的EDK虽然有支持, 但由于改了很多部分, 网络上并没有对应的教程), 微软把官方的下载链接藏得比较深, 可以看这篇文章 https://www.cnblogs.com/yilezhu/p/10857134.html. 另外安装之前可能需要 Microsoft .NET Framework 4.6.1
2. 安装Python2.7 https://www.python.org/downloads/release/python-2716/. 新建环境变量PYTHON_HOME,值为C:Python27
3. 下载IASL编译器. https://acpica.org/downloads/binary-tools
4. 下载NASM. https://www.nasm.us/. 往环境变量PATH中添加C:UEFInasm, 并设置NASM_PREFIX=C:UEFInasm (NASM_PREFIX不设置也可以, 但是会报warning. 如果设置必须设置正确, 一旦填错, 必须把udk2文件夹删除干净重来)
5. 下载Openssl. http://wiki.overbyte.eu/arch/openssl-1.1.0g-win32.zip. 往环境变量PATH中添加C:UEFInasm和C:UEFIopenssl
4.下载edk2开发包, 解压: https://codeload.github.com/tianocore/edk2/zip/vUDK2018 .
此时在根目录下应有这些文件:
![e68a356e6d0f96595fbeb5a8a484ccbc.png](https://i-blog.csdnimg.cn/blog_migrate/72e2d83dabb7e30598a05abe799b3024.jpeg)
5.生成OPENSSL加密库。从https://github.com/openssl/openssl/archive/OpenSSL_1_1_0g.zip下载,下载后解压到edk2CryptoPkgLibraryOpensslLib中,重命名为openssl.
![b0d39014ef80d352078c89fbeda3d09f.png](https://i-blog.csdnimg.cn/blog_migrate/fc5ffba86116024efffc11ecb7bb3915.jpeg)
6. 预搭建base tools。从https://github.com/tianocore/edk2-BaseTools-win32 并解压到edk2BaseToolsBin,重命名为Win32,注意忽略此步会在接下来的搭建中遇到报错环境变量PYTHON_HOME的问题。
![0d149e609220eb9b1edf7b7203c4f1b4.png](https://i-blog.csdnimg.cn/blog_migrate/aee4338657d4730db8b6d8edbb0a6ad4.png)
配置EDK2开发环境
1 cd .edk2
2 .edksetup.bat
之后会在Conf目录下建立target.txt等文件.
编辑target.txt. 修改第60行为 TOOL_CHAIN_TAG = VS2015 , 之后检查tools_def.txt, 确保编译器路径正确.
编译UEFI模拟器和UEFI工程
1. 编译UEFI模拟器
1 edksetup.bat rebuild
2 edksetup.bat --nt32
3 build
之后会看到build成功
![fd85a41afd02f204d8386e058a4c1004.png](https://i-blog.csdnimg.cn/blog_migrate/ec7430832cea6f60aa0b1b48cc9a5d2b.jpeg)
该过程可能会出现脚本去C:Program Files 下找Windows Kits的情况, 但一般Windows Kits在C:Program Files(x86)下, 而C:Program Files中并无此文件夹, 故而导致报错. 此时可以以管理员身份在C:Program Files下执行 mklink /j "Windows Kits" "C:Program Files(x86)Windows Kits", 创建一个软链接.
之后:
1 build run
![42b5ac82d7f6169bb6ca3357d40f732b.png](https://i-blog.csdnimg.cn/blog_migrate/6e36074c1fe70971f6df0038b14e306b.jpeg)