EDK2环境搭建--Windows

之前有搭建过一次UDK2的环境,但是因为换了新的工作电脑,所以需要重新搭建一次,刚好使用最新的Tool写一篇搭建edk2的的博客。

这次环境搭建没有出什么奇奇怪怪的问题,大家按照我的步骤做就行。

第一步.下载UDK2环境需要的Tool

当前下载的Tool版本

NSAM:2.16.01
IASL:20230628
Python:3.11.4
Openssl:3.1.1
VS:2019 Community
edk2:202305

1. 安装VS2019社区版本

下载地址:https://visualstudio.microsoft.com/zh-hans/vs/
选择Visual Studio Community 2019版本下载;
安装的时候把 C / C++ / NET 的选项全部勾上;

注意

1. 目前edk2最新版本的20230628只支持到VS2019;
2. 安装路径最好是不要加入空格,否则编译时有概率会报错
   NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Vc\bin\cl.exe' : return code '0x1'

2. 安装NASM IASL Python和Openssl

安装NASM

NASM下载地址:https://nasm.us/
NASM下载一NASM下载二
安装时路径安装在 C:\nasm 下;

安装IASL

下载地址:https://acpica.org/downloads
IASL下载一
下载之后解压到 C:\iasl

安装OpenSSL

下载地址:https://github.com/openssl/openssl/releases
下载Zip后缀的Openssl文件;
Openssl下载一下载之后解压到 C:\openssl

安装Python

下载地址:https://www.python.org/
下载后安装到 C:\Python
如果没办法更改安装路径,就勾选自动添加环境变量这个选项;

下载edk2和相关的tool

下载edk2

下载地址:https://github.com/tianocore/edk2/releases?page=1

下载edk2-BaseTools-win32-master

下载地址:https://github.com/tianocore/edk2-BaseTools-win32
edk2_Tool下载一

第二步. 环境配置

在 此电脑 ==> 属性 ==> 关于 ==> 高级系统设置 ==> 环境变量 中添加以下变量:
IASL_PREFIX=C:\IASL
NASM_PREFIX=C:\NASM
在path变量内添加 C:\openssl

解压edk2-BaseTools-win32-master,将文件名更改为win32,剪切到edk2-edk2-stable202305\BaseTools\Bin路径下

解压openssl-OpenSSL_1_1_0g,将文件夹内的文件放在edk2-stable202305\CryptoPkg\Library\OpensslLib\openssl路径下

注意:解压edk2时edk2-edk2-stable202305\CryptoPkg\Library\OpensslLib\openssl路径文件夹本身就存在,文件夹内无内容

第三步.编译edk2

  1. 先使用CMD窗口,将路径定位到edk2文件夹下;

  2. 运行 edksetup.bat 批处理;

  3. 批处理运行成功后,edk2-stable202305 路径下会出现 conf 文件夹,进入文件夹后打开 target.txt 文件,更改其中的参数:

     TOOL_CHAIN_TAG        = VS2019
    
  4. 使用VS的窗口编译,我这里使用的是:
    VS

  5. 运行批处理 edksetup.bat ,运行成功后输入命令 build ;

  6. 窗口不报 error,显示 success 即编译通过;

     到这里EDK2的环境搭建已经完成啦,第一次搭建环境我花了三四天的时间去找那些error的解决方法,
     第二次搭建最新的编译环境竟然只用了半天的时间就OK了!
     
     感谢一下luobin大佬的 <UEFI开发探索22 – 环境搭建3(使用UDK2018搭建)> 的博客,
     第一次搭建环境的时候真的节省了我很多的时间,这里附上大佬的博客链接
     https://blog.csdn.net/luobing4365/article/details/101018455 
    

报错

这里把这两次环境搭建遇到的错误都贴在博客上,有遇到类似问题的可以尝试一下我的解决方式。

  1. NMAKE:fatal error U1077.“cl.exe” return code 0xc0000135
    产生原因:在安装visual studio的时候没有勾选注册环境变量导致的。
    解决办法:在系统环境变量中加入visual studio的安装路径:vs安装路径\VC\Bin,以及vs安装路径\Common7\IDE
  2. NMAKE:fatal error U1077. return code 0x2
    产生原因:找不到代码文件中包含的头文件
    解决办法:cmd下进入到vs安装路径\VC\Bin下,执行vcvars32,此时会执行vcvas32.bat自动为vs设置环境变量
  3. python报错
    产生原因:识别不到BaseTools-win32
    解决办法:添加edk2\edk2-vUDK2018\BaseTools\Bin\win32路径到path中
  4. ‘“C:\Program Files (x86)\Microsoft Visual Studio 14.0\Vc\bin\nmake.exe”’ 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    产生原因:VS相应组件没有安装,路径下没有nmake.exe文件
    解决办法:重新安装相应版本的VS镜像或者添加相应的C++组件
  5. NMAKE : fatal error U1077: ““C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\cl.exe”
    return code“0x1” Stop.
    产生原因:没有使用VS2015 x86 Native Tools Command Prompt
    解决办法:使用兼容x86和X64兼容的命令行
  6. build.py…
    d:\edk2\edk2-master-2019\MdeModulePkg\MdeModulePkg.dec(28): error 000E: File/directory not found in workspace
    d:\edk2\edk2-master-2019\MdeModulePkg\Library\BrotliCustomDecompressLib\brotli\c\include
    产生原因:找不到路径下的文件夹
    解决办法:创建一个或者是删除edk2\edk2-master-2019\MdeModulePkg\MdeModulePkg.dec(28)下的\c\include路径
  7. Building … d:\edk2\edk2-master-2019\MdeModulePkg\Library\PeiReportStatusCodeLib\PeiReportStatusCodeLib.inf [IA32]
    NMAKE : fatal error U1077: "C:\NASMnasm: ش롰0x1
    Stop.
    产生原因:系统识别NASM下的nasm.exe时识别错误
    解决办法:删除系统变量NASM_PREFIX,重新设置或者在NASM_PREFIX路径后加个\
  8. GenFfs: ERROR 1000: Unknown option
    -oi
    ע: ļ: d:\edk2\edk2-master-2019\MdePkg\Include\Uefi/UefiGpt.h
    ע: ļ: d:\edk2\edk2-master-2019\MdePkg\Include\Uefi/UefiInternalFormRepresentation.h
    ע: ļ: d:\edk2\edk2-master-2019\MdePkg\Include\Guid/HiiFormMapMethodGuid.h
    NMAKE : fatal error U1077: D:\edk2\edk2-master-2019\BaseTools\Bin\Win32\GenFfs.EXE: ش롰0x2
    Stop.
    产生原因:在使用新版的edk-master时,因为edk2-BaseTools-win32比较老,新版代码中使用了参数"-oi",旧版不支持这个参数,所以会报错
    解决办法:重新编译edk2-BaseTools
  9. ‘C:\Program’ 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
    NMAKE : fatal error U1077: ‘"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Vc\bin\cl.exe’ : return code ‘0x1’
    Stop.
    产生原因:NMAKE识别不了C:\Program Files (x86)路径中的空格
    解决办法:更改VS安装路径,安装路径中不要有空格
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值