admin 管理员组文章数量: 1184232
2024年3月26日发(作者:ascii编码规则数字符号0 9)
1. 安装 Visual Studio 2015
特别注意要勾选安装 VC++ 编译器和 Window8.1 SDK,建议安装位置为默认路径
(一般在C盘)
2. 下载UDK2018
下载网址:/tianocore//wiki/UDK2018
下载:Source code (zip file) 到 C:EDK2目录下,解压。
3. 下载 NASM
下载链接:/
下载 NASM 2.12.01 并安装到 C:Nasm,将 C:Nasm 添加到系统环境变量路径
中。
过程如下:
控制面板 -----> 系统 -----> 高级系统设置 -----> 环境变量 ----> 系统变量
----> 点击Path ----> 编辑 -----> 新建 ----> 浏览 ----> C:Nasm
4. 下载 IASL
下载网址:/downloads/binary-tools
点击 iASL compiler and Windows ACPI tools (ZIP 3.0 MB) 下载到C:ASL
5. 下载 Python2. 7. 15
下载网址:/
下载到 C:Python27
同样将其添加到系统环境变量中,变量名为PYTHON_HOME,变量值为
C:Python27。
6. 下载 cx_
下载地址:/project/cx-Freeze/4.3.4/#files
点击 cx_ 安装到 C:Python27Scripts
同样将其添加到系统环境变量中,变量名为PYTHON_FREEZER_PATH,变量值为
C:Python27Libsite-packagescx_Freeze。
7. 下载 openssl-OpenSSL_1_1_
下载网址:/openssl/openssl/archive/OpenSSL_1_1_解
压到:C:EDK2edk2-vUDK2018CryptoPkgLibraryOpensslLibopenssl文件夹中
8. 下载 edk2-BadeTools-win32
下载网址:/tianocore/edk2-BaseTools-win32
并解压到C:EDK2BaseToolsBin,重命名为Win32
9. 打开cmd,以管理员身份运行,进入到edk2的目录,输入:
--nt32
10. 进入 C:EDK2Conf,打开,将 TOOL_CHAIN_TAG =
MYTOOL 改为:TOOL_CHAIN_TAG = VS2015x86
OR
TOOL_CHAIN_TAG = VS2015
具体看 VS 是安装在 c:program files(x86) 还是在 c:program files 中。
11. 进入到 C:EDK2Conf,打开tools_,找到如下内容,并做如下更改,请
注意,以下为我安装 VS 的路径,请根据自己的情况进行设置。
12. 编译
以管理员身份打开cmd,进入到EDK2的目录
输入: --nt32,若没有错误,则会像下图所示:
若存在如下报错:
!!! WARNING !!! PYTHON_FREEZER_PATH environment variable is not set.
Setup environment to run Python scripts directly.
......
PYTHON_HOME = C:Python27
PYTHONPATH = C:EDK2edk2-vUDK2018BaseToolsSourcePython;
请确保第6步的C:Python27Libsite-packagescx_Freeze有添加到名为
PYTHON_FREEZER_PATH 的系统环境变量中。
接下来输入:build -p Nt32Pkg/ -a IA32
编译成功后,显示:
接下来输入 build run 即可运行Nt32 模拟环境
注意:Nt32Pkg包只适合编译32为的efi文件,若要进行64位efi文件编译,请
不要在Nt32Pkg包中编译。
如果运气不好,则会碰到如下错误:
: error C0DE: Tools code failure
Please send email to edk2-devel@ for help, attaching following call
stack trace!
Traceback (most recent call last):
File "", line 228, in main
File
"c:UsersPublicDocumentsBuildPoolBaseToolsbuildSourcePythonWorkspac
", line 164, in __init__
File
"c:UsersPublicDocumentsBuildPoolBaseToolsbuildSourcePythonCommon
", line 25, in remove
WindowsError: [Error 32] The process cannot access the file because it is being
used by another process: '?c:'
Exception AttributeError: "'WorkspaceDatabase' object has no attribute
'Conn'" in > ignored
: error 7000: Failed to execute command
GenFds -f c:
-o --conf=c:edk2-vudk2018conf
c:edk2-vudk2018BuildNT32IA32DEBUG_VS2015x86 -t VS2015x86 -b DEBUG -p
c: -a IA32 -D
-D
-D
-D
"EFI_SOURCE=c:edk2-vudk2018edkcompatibilitypkg"
"EDK_SOURCE=c:edk2-vudk2018edkcompatibilitypkg"
"TOOL_CHAIN_TAG=VS2015x86" -D "TOOLCHAIN=VS2015x86"
"TARGET=DEBUG" -D "FAMILY=MSFT" -D "WORKSPACE=c:edk2-vudk2018" -D
"EDK_TOOLS_PATH=c:edk2-vudk2018basetools" -D "ARCH=IA32" -D
"ECP_SOURCE=c:edk2-vudk2018edkcompatibilitypkg" [C:edk2-vUDK2018]
解决方法如下:
可以将改名为。然后把
BaseToolsBinWrappersWindowsLike加入系统环境变量的Path路径。
版权声明:本文标题:UEFI EDK2编译环境搭建 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1711410139a592655.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论