UDK2017 是EDK II 的一个经过测试的分支,可以认为是一个稳定的Release版本。所以后面使用的UEFI相关的代码都以这份代码为准,如果有其他问题会另外说明。
我习惯从SVN上面直接Checkout出来一份,这样Build Tool什么的不用像Git那样单独去下载配置。下载地址是:UDK2017
下载之后本机需要做的配置是:
- 安装VS2013 with Update5 .这里使用的版本是:cn_visual_studio_ultimate_2013_with_update_5_x86_dvd_6816649.iso
- 安装Nasm,下载地址:NASM. 下载安装之后要把NASM 环境变量配置一下,如下图:
- 安装ASL 编译工具,下载地址:IASL.将压缩包里面的文件解压到C:\ASL。
- 其他应该没有了。
我们先Build下面几个基本的东西:
- Nt32Pkg 32位的UEFI Shell模拟环境
- Nt32Pkg X64 64位的UEFI Shell模拟环境
- OvmfPkgIa32.dsc Qemu所用的32位的BIOS 模拟文件。
- OvmfPkgIa32X64.dsc Qemu所用的64位的BIOS 模拟文件(PEI arch:IA32,DXE arch:X64,UEFI interfaces:64)。
- OvmfPkgX64.dsc Qemu所用的64位的BIOS 模拟文件。
Nt32Pkg:
- 以管理员身份运行CMD
- CD 到UDK2017的根目录
- 执行“Edk2Setup.bat --NT32”
- 找到Conf/target.txt,TOOL_CHAIN_TAG= VS2013x86,MAX_CONCURRENT_THREAD_NUMBER = 4.
- 执行“Build”即可Build PASS.
Nt32Pkg X64
这个较少用到,但是之前突发奇想,想Build一下,结果总是报错,后面Build Pass之后把步骤写下来以供大家参考:
- 以管理员身份运行CMD
- CD 到UDK2017的根目录
- 执行“Edk2Setup.bat --NT32 X64”
- 找到Conf/target.txt,TARGET_ARCH=X64, TOOL_CHAIN_TAG=VS2013x86,MAX_CONCURRENT_THREAD_NUMBER = 4.
- 执行“Build”即可Build PASS.
OvmfPkgIa32.dsc:
- 以管理员身份运行CMD
- CD 到UDK2017的根目录
- 执行“Edk2Setup.bat ”
- 找到Conf/target.txt,ACTIVE_PLATFORM = OvmfPkg/OvmfPkgIa32.dsc, TARGET_ARCH = IA32, TOOL_CHAIN_TAG = VS2013x86,MAX_CONCURRENT_THREAD_NUMBER = 4.
- 执行“Build”即可Build PASS.
OvmfPkgIa32X64.dsc:
- 以管理员身份运行CMD
- CD 到UDK2017的根目录
- 执行“Edk2Setup.bat”
- 找到Conf/target.txt,ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc, TARGET_ARCH=IA32 X64, TOOL_CHAIN_TAG=VS2013x86,MAX_CONCURRENT_THREAD_NUMBER = 4.
- 执行“Build”即可Build PASS.
- 以管理员身份运行CMD
- CD 到UDK2017的根目录
- 执行“Edk2Setup.bat”
- 找到Conf/target.txt,ACTIVE_PLATFORM = OvmfPkg/OvmfPkgX64.dsc, TARGET_ARCH=X64, TOOL_CHAIN_TAG=VS2013x86,MAX_CONCURRENT_THREAD_NUMBER = 4.
- 执行“Build”即可Build PASS.