EDK_II环境搭建与测试
一. 环境准备
- Windows 10 (64位)专业版
- Visual Studio 2010旗舰版(默认路径安装)
- Mscrosoft SDKs 7.0A
BIOS综合包里的EDK开发环境
二. 实验步骤
2.1 环境搭建
2.1.1 准备实验所需文件
解压BIOS 综合包里的UDK20120.SR1.UP1.P1.MyWorkSpace,解压BaseTools(Windows)。把BaseTools(Windows)文件夹里面的BaseTools文件夹放到C盘根目录;打开UDK20120.SR1.UP1.P1.MyWorkSpace文件夹里的MyWorkSpace,把这个文件夹里的内容放到C:\BaseTools文件夹里面;把从BaseTools(Windows)解压的edksetup.bat放到C:\BaseTools文件夹里面。
在windows cmd中运行C:\BaseTools\deksetup.bat,命令运行完后会在C:\BaseTools\Conf目录中生成target.txt和tools_def.txt配置文件。2.1.2 修改配置文件
修改C:\BaseTools\Conf\target.txt文件:
ACTIVE_PLATFORM = Nt32Pkg/Nt32Pkg.dsc
TARGET = DEBUG
TARGET_ARCH = x64 IA32
TOOL_CHAIN_CONF = Conf/tools_def.txt
TOOL_CHAIN_TAG = VS2010x86
MAX_CONCURRENT_THREAD_NUMBER = 1
BUILD_RULE_CONF = Conf/build_rule.txt
修改C:\BaseTools\Conf\tools_def.txt文件:
DEFINE WINSDK_VERSION = v7.0A2.1.3 生成uefi模拟器
打开VS2010中的VS命令提示(2010),如图2.1所示。
图2.1 VS2010中的VS命令提示(2010)
在VS命令提示(2010)中输入以下命令:
C:>cd BaseTools
C:\BaseTools>edksetup.bat,如图2.2所示。
图2.2 运行edksetup.bat
C:\BaseTools>build,如图2.3所示。
图2.3 编译生成UEFI SHELL
大概2分钟后编译完成,如图2.4所示。
图2.4 编译生成UEFI SHELL
完成后在C:\BaseTools\Build\NT32\DEBUG_VS2010x86\IA32目录中生成SecMain.exe,打开这个可执行文件就会出现uefi shell。
环境搭建完毕。2.2 测试
2.2.1 修改配置文件
在C:\BaseTools\Conf\target.txt文件中,修改
*ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc
其它选项保持环境搭建时的设置不变。2.2.2 修改HelloWord.c文件
注释C:\BaseTools\MdeModulePkg\Application\Hell oWorld\HelloWorld.c源文件中关于“UEFI HelloWorld !”字符串的输出,添加“liangshihaoS201607097”字符串的输出语句,保存退出。如图2.5所示。
图2.5 修改HelloWorld.c2.2.3 编译源文件
打开VS2010中的VS命令提示(2010),输入以下命令:
C:>cd BaseTools
C:\BaseTools>edksetup.bat,如图2.6所示。
图2.6 运行edksetup.bat
C:\BaseTools>build,如图2.7所示。
图2.7 编译源文件
大概2分钟后编译完成,如图2.8所示。
图2.8 编译完成
在C:\BaseTools\Build\MdeModule\DEBUG_VS2010x86\IA32目录生成HelloWorld.efi文件。2.2.4 在UEFI Shell中运行HelloWorld.efi
在UEFI Shell中依次输入:
Shell> fsnt0:
fsnt0:>HelloWorld.efi,运行结果如图2.9所示。
图2.9 运行HelloWorld.c
EDK_II环境搭建与测试的更多相关文章
- Tensorflow object detection API ——环境搭建与测试
1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配 ...
- 【运维技术】kafka三实例集群环境搭建及测试使用
kafka三实例集群环境搭建及测试使用 单机搭建分为两部分:1. 软件安装启动 2. 软件配置 软件安装启动: # 切换到目录 cd /app # 获取kafka最新安装包,这边使用的是镜像地址,可以 ...
- Tensorflow object detection API(1)---环境搭建与测试
参考: https://blog.csdn.net/dy_guox/article/details/79081499 https://blog.csdn.net/u010103202/article/ ...
- C++调用Lua编程环境搭建及测试代码示例
C++调用Lua编程环境搭建及测试代码示例 摘要:测试环境是VS2005+LuaForWindows_v5.1.4-45.exe+WIN7 1.安装lua开发环境LuaForWindows_v5.1. ...
- 【转载】基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程(之一)——介绍、安装准备、安装、config文件以及运行脚本介绍
基于RedHatEnterpriseLinux V7(RHEL7)下SPEC CPU 2006环境搭建以及测试流程(之一)--介绍.安装准备.安装.config文件以及运行脚本介绍 其他 2018-0 ...
- Mybatis环境搭建及测试
1.新建java project,导入相应jar包 本次使用到的mybatis-3.2.7版本 mybatis需要jar包:mybatis-3.2.7.jar.lib文件下的依赖jar mysql驱动 ...
- webDriver环境搭建与测试
1.安装jdk 2.安装eclipse 3.安装selenium 由于使用的是开发语言是java,因此需要安装java版的selenium包.下载地址:http://pan.baidu.com/s/1 ...
- ssh运行环境搭建及测试
一.运行环境 1.Spring环境 Spring是一站式开发框架,在SSH中主要有以下作用,就像一个大管家: 控制反转(Inversion of Control):类不再自己进行类创建,而是交给Spr ...
- php学习笔记1——使用phpStudy进行php运行环境搭建与测试。
1. 新手第一步还是使用phpStudy搭建一下windows下的php环境,并测试.如下: http://jingyan.baidu.com/article/3c343ff7067eff0d3679 ...
随机推荐
- C++ - 模板(template)中typename的使用方法
声明template参数时, 前缀关键字class和typename可以互换; 使用关键字typename标识嵌套从属类型名称, 但不需在基类列表和成员初始化列表内使用. 从属名称(dependent ...
- js 设计模式——观察者模式
观察者模式 定义 观察者模式(又被称为发布-订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状 ...
- iview的Affix插件遇到滚动时候的bug处理方法
最近有个需求,是用vue做的页面,其中嵌入了一个tinymce编辑器,编辑器设置了自动调整高度,也就是说编辑器中内容越多,高度就会自动撑高 我们需要再页面最下方放一个保存按钮,保存按钮必须固定在屏幕下 ...
- python-docx操作word文件(*.docx)
目录 基础操作 对象关系 添加样式 中文字体微软雅黑,西文字体Times New Roman 首行缩进 单独设置标题样式 设置超链接 参考文档 基础操作 from docx import Docume ...
- 大数据入门第一天——基础部分之Linux基础(环境准备与先导知识)
一.Linux环境安装 1.VM的安装 参考Linux环境搭建随笔:http://www.cnblogs.com/jiangbei/p/7248054.html 2.CentOS的安装 同参考上述随笔 ...
- Tarjan/2-SAT学习笔记
Tarjan/2-SAT Tags:图论 作业部落 评论地址 Tarjan 用来求割边或者割点,求点双联通分量或者边双联通分量 点双联通分量:两个点之间有两条点不相交的路径 边双联通分量:两个点之间有 ...
- python基础学习1-类,对象
class Foo:#定义类 def mail(self,email,message):#定义类的方法 print('发送邮件给%s! 信息:%s'% (email,message)) return ...
- HBase的Rowkey设计(mark)
在HBase中细节上的设计,最最最重要的就是我该选取什么做Rowkey,Rowkey的选择,最直接的影响就是对你之后分析数据的影响了. Rowkey是不可分割的字节数,按照字典排序由低到高存储在表中. ...
- 6 开发工具IDE-pycharm
http://www.cnblogs.com/sean-yao/p/8321034.html 激活码:http://blog.csdn.net/qq_39248703/article/details/ ...
- Storm 第二章 Storm安装
1 strom集群规划 Nimbus:hadoop1 zookeeper:hadoop2,hadoop3,hadoop4 supervisor:hadoop5,hadoop6,hadoop7 安装文件 ...