UDK2015 is a stable release of portions of the EDKII project.

本文记录在Win7下用VS2012 编译UDK2015的过程。

Step1, 下载Source Code
SVN 地址:

https://svn.code.sf.net/p/edk2/code/branches/UDK2015

Step2, 运行脚本 edksetup.bat Windows 命令行输入:edksetup --nt32
[注:如果编译 IA32的Image,Driver或者Application,必须有--nt32参数,否则会出现一些莫名其妙的Build错误;Target_ARCH=X64, 不带--nt32参数,可以正常编译]

Step3, 修改Conf/target.txt

修改TOOL_CHAIN_TAG = VS2012x86  参考:Windows systems ToolChain_Matrix

Setp4, Build IA32 BIOS Image
Windows命令行输入:Build

Step5, Run BIOS Image with Windows NT 32 emulation:
命令行输入:Build Run
按F2进入Setup界面


Build X64 UEFI Application

命令行输入:Build -a X64 -p DuetPkg/DuetPkgX64.dsc

编译自己写的Application:
[注]每次打开新的CMD窗口,先运行edksetup.bat --nt32然后:
方法1: Build -a X64 -m MdeModulePkg\Application\HelloWorld\HelloWorld.inf
方法2:切换到 MdeModulePkg\Application\HelloWorld\ 目录, 执行Build -a X64
方法3: 将HelloWorld.inf加入DuetPkgX64.dsc, 执行Build -a X64

将生成的HelloWrodl.efi文件复制到装有UEFI shell系统的U盘或者Hdd中 ,运行HelloWrold.efi即可。

这篇文章内容比较少,接触UEFI时间不长,细节没理清楚,只描述过程,原因不叙述,进一步研究可以参考《EDK II Build Specification》.

How to build UDK2015?的更多相关文章

  1. webpack run dev后并没有生成dist目录,但是浏览器里却读取了dist里的build.js?

    最近想看看现在做的React项目用的脚手架,看了下webpack的配置,尝试修改一些东西看看输出结果,结果允许npm run dev发现没有输出目录,怎么回事呢.又安装了vue官方提供的webpack ...

  2. buils tool是什么?为什么使用build tool?java主流的build tool

    定义: build tool是可以自动由源代码创建可执行的应用程序的程序. Building 包括编译.链接和打包代码成一个可用的或可执行形式. 在小型项目,开发人员常常会手动调用构建过程.在更大的项 ...

  3. TeamCity : Build 基本配置

    前文中我们在 TeamCity 中创建了一个项目 HelloApp,并在这个项目中创建了一个名为 HelloAppDailyBuild 的Build 用来编译 demo 程序.本文我们将详细介绍 Bu ...

  4. Daily Build

    Daily Build 是一件非常有意义的事情,也是敏捷开发中关于 “持续集成” 的一个实践.Daily Build 对于开发来说有如下好处: 保证了每次 check in 的代码可用,不会造成整个工 ...

  5. 给iOS工程增加Daily Build

    给iOS工程增加Daily Build  前言 Daily Build 是一件非常有意义的事情,也是敏捷开发中关于 "持续集成" 的一个实践.Daily Build 对于开发来说有 ...

  6. Bitbucket 触发内网 Jenkins Build

    为了保证安全性多数的持续集成系统都会部署在公司内部的局域网中,这样如果代码部署在 Bitbucket 等环境中就只能通过轮询的方式来触发 Build.那么有没有办法通过 Bitbucket 的 Web ...

  7. [置顶] Android系统移植与调试之------->build.prop文件详细赏析

    小知识:什么是build.prop?   /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件.这个文件是如 ...

  8. Build Path

    ------------siwuxie095 什么是 Build Path? 为什么使用 Build Path? 如: (1)创建一个Java工程:LearnBuildPath (2)点击 Next, ...

  9. Android系统移植与调试之------->build.prop文件详细赏析

    小知识:什么是build.prop?   /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变,类似於/etc中的文件.这个文件是如 ...

随机推荐

  1. http://msh.baidu.com/UTWpR6wY4722

    超人的计算机专业应届研究生个人简历,但企业不需要 前几天和一位做人力资源的朋友在饭店里面喝酒,聊起来大学生找工作不好找的话题.我的这个朋友对这个还真比较感兴趣,说着说着从公文包里拿出来一份简历递给我看 ...

  2. 在Java中兼容Windows和Linux的路径处理

    Linux中的路径使用'/',而Windows下正好相反'\',Java提供了以系统属性的方式获取路径分隔符: System.getProperty("file.separator" ...

  3. ListView自定义滑动条

    /** * 修改默认滑动条 */ private void SetSliderIcon() { try { Field f = AbsListView.class.getDeclaredField(& ...

  4. JS将图片文件转为64位字符串再post到接口上传图片

    HTML: <div class="ai-item upload-id-img"> <p>上传身份证照片</p> <div class=& ...

  5. Sudoku Killer

    算法:深搜 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会将数独列为一个单独的项目进行比赛,冠军将有可能获得的一份 ...

  6. polygonZM---> poliygon

    ArcToolbox > Conversion Tools > To Shapefile > Feature Class To Shapefile (multiple)   Clic ...

  7. DeDe调用指定栏目ID下的文章

    *注: row: 调用条数 titlelen: 字数 typeid: 调用的栏目ID orderby: 按照升序对记录进行排序 idlist: 提取特定文档为空 infolen='40' 内容简介长度 ...

  8. python比较两个列表

    两个列表,随机产生4个不相等的数,计算一下,相同位置上的元素相等的个数,用k1表示. b列表中的元素在a列表中,但位置不相同,有多少个,用k2表示. 例如: a=[0, 4, 7, 3]b=[7, 1 ...

  9. .h文件和.cpp文件

    //新建如图文件 //在头文件.h中声明,在.cpp中实现 //main.cpp代码如下 #define _CRT_SECURE_NO_WARNINGS #include<iostream> ...

  10. TF.Learn

    TF.Learn 手写文字识别   转载请注明作者:梦里风林Google Machine Learning Recipes 7官方中文博客 - 视频地址Github工程地址 https://githu ...