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. Eclipse Removing obsolete files from server 问题

    今天在修改server.xml调试程序时,遇到下面这个问题,clean,重启都不好使.                 Removing obsolete files from server..    ...

  2. .NET基础拾遗(8)ADO.NET与数据库开发基础

    1.1 ADO.NET支持哪几种数据源? ① System.Data.SqlClient .NET程序员最常用的了.通过OLEDB或者ODBC都可以访问,但是SqlClient下的组件直接针对MSSQ ...

  3. WCF 客户端与服务端消息传输

    WCF很多需要认证信息,保证服务的安全,可以使用消息来实现 WCF 实现消息的方式: WCF中有两个接口: IClientMessageInspector [定义一个消息检查器对象,该对象可以添加到 ...

  4. (转)ligerUI 使用教程之Tip介绍与使用

    概述:   ligertip是ligerUI系列插件中的tooltip类插件,作用是弹一个浮动层,起提示作用   阅读本文要求具备jQuery的基本知识,不然文中的javascript代码不易理解 截 ...

  5. ORACLE 物化视图

    最近几天,我负责的P项目环境中提供给W系统的一个视图,由于查询逻辑复杂,数据量比较大,导致每次查询视图的时候,查询速度慢,效率低下,遭到了w系统人员的投诉.想了想,还是改成物化视图吧,用了物化视图,腰 ...

  6. void (*f(int, void (*)(int)))(int) 函数解析

    函数指针 今天与几个同学看到了一个函数指针定义: void (*f(int, void (*)(int)))(int) 以前在C trap pit fails里面见过,但是文章里面介绍的很详细,但是往 ...

  7. android图形基础知识

    Android核心分析(23)-----Andoird GDI之基本原理及其总体框架 2010-06-13 22:49 18223人阅读 评论(18) 收藏 举报 AndroidGDI基本框架 在An ...

  8. Linux 编译安装httpsqs

    wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz tar zxvf libevent-2.0.12-stab ...

  9. 如何在webstrom中配置eslint和less

    webstrom 帮助文档(英文版) 1.在webstrom中使用ESLint规范代码格式: JSHint 可以帮助检测你的 JavaScript 代码中的错误和潜在的问题,而 eslint是一个 J ...

  10. R语言学习网站

    一个不错的个人R语言博客网站 http://blog.fens.me/r-overview/