UEFI-VS2013环境搭建
今天我想给大家介绍的在VS2013上搭建UEFI环境,这是我自己的搭建过程,仅供参考。
一、前期准备
- 系统配置
Windows10 - 所需软件(可以在相应的官网上下载)
UDK2015.Complete.MyWorkSpace.zip
Microsoft Visual Studio 2013* UP5 (vs2013.5_pro_chs.iso)
patch-2.5.9-7-setup.exe
二、安装流程
1、首先安装Microsoft Visual Studio 2013* UP5(按照提示一步步安装即可)。
2、将UDK2015.Complete.MyWorkSpace.zip解压,解压之后的文件中有一个名为MyWorkSpace的文件,将该文件放到任意目录,我放的是c盘根目录下(C:\MyWorkspace )。
3、第二步解压之后的文件中有两个工具压缩包,选择BaseTools(Windows)解压到C:\MyWorkspace下。
4、安装patch-2.5.9-7-setup.exe(双击安装即可),然后将patch.exe所在目录(C:\Program Files (x86)\GnuWin32\bin)加入计算机的PATH环境变量中。
5、找到路径C:\MyWorkspace\CryptoPkg\Library\OpensslLib\Patch-HOWTO.txt,并打开Patch-HOWTO.txt,按照里面相关的步骤,首先在浏览器中输入如下网址: http://www.openssl.org/source/openssl-1.0.2d.tar.gz 下载openssl-1.0.2d,然后用**管理员身份解压(一定要用管理员身份)**到C:\MyWorkSpace\CryptoPkg\Library\OpensslLib中。并将EDKII_openssl-1.0.2d.patch文件复制到 C: \MyWorkSpace\CryptoPkg\Library\OpensslLib\openssl-1.0.2d文件夹中
6、打开Windows的DOS命令窗口
–>cd C:\MyWorkSpace\CryptoPkg\Library\OpensslLib\openssl-1.0.2d
–> patch -p0 -i …\EDKII_openssl-1.0.2d.patch
–> cd …
–> Install.cmd
7、在C:\MyWorkSpace\Conf\tools_def文件中x86的路径改为安装路径,我的是在E盘,如下:
打开 VS2013 的命令窗口(在开始菜单找到VS2013文件夹,打开工具文件夹,打开VS2013 X86命令窗口)运行以下命令:
(1) cd C:\MyWorkspace (首先进入到MyWorkspace目录下)
(2) edksetup --nt32 (初始化运行环境,在Windows环境下编译/运行Nt32模拟器)
(3) 使用命令 build -t VS2013x86
三、测试
打开模拟器,模拟器安装包路径C:\MyWorkSpace\Build\NT32IA32\DEBUG_VS2008x86\IA32\SecMain.exe,双击即可启动安装。
模拟器刚启动时的界面如下图所示。
出现上面的界面之后,按F8键。将出现Shell> 命令提示行,如下图所示。
接着在Shell命令提示行后边输入程序的主函数即可执行源代码。系统自带了一个HelloWorld.c程序,可先利用该程序检测一下环境是否搭好。如下图所示输入HelloWorld,如果出现下边的界面说明环境搭建成功。
四、运行程序
1、把SMBIOS_TEST.C 和 SMBIOS_TEST.H 和 SMBIOS_TEST.INF 放到和HelloWord.c 同一路径下:C:\MyWorkSpace\MdeModulePkg\Application 下边。
2、把 .inf 的路径(MdeModulePkg/Application/SMBIOS_TEST/SMBIOS_TEST.inf)放到 C:\MyWorkSpace\Nt32Pkg\Nt32Pkg.dsc 文件中。(可参照HelloWorld.inf的路径放置位置)
3、重新编译 Nt32Pkg 文件,执行 build -t VS2013x86
4、编译完之后的 .efi 文件的路径:C:\MyWorkSpace\Build\NT32IA32\DEBUG_VS2008x86\IA32\MdeModulePkg\Application\SMBIOS_TEST\SMBIOS_TEST\OUTPUT(.efi 就是一个可执行文件了)
5、打开模拟器,模拟器安装包路径C:\MyWorkSpace\Build\NT32IA32\DEBUG_VS2008x86\IA32\SecMain.exe,双击即可启动安装。
模拟器刚启动时的界面如下图所示。
出现上面的界面之后,按F8键。将出现Shell> 命令提示行,如下图所示。
接着在Shell命令提示行后边输入程序的主函数即可执行源代码。(这里的主函数名是SMBIOSTESTA)
主函数名的查看方式:打开SMBIOS_TEST.inf,查看BASE_NAME对应的值
代码的执行结果如下图所示。
出现菜单之后,按照菜单上边的提示,通过输入不同的数字,可以看到不同的执行结果。比如输入0.将会显示有关BIOS的相关信息。