1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
\r
4 <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
\r
5 <TITLE>EDK II Installation Guide</TITLE>
\r
6 <META NAME="GENERATOR" CONTENT="OpenOffice.org 2.0 (Win32)">
\r
7 <META NAME="CREATED" CONTENT="20060512;12074440">
\r
8 <META NAME="CHANGEDBY" CONTENT="Larry Hauch">
\r
9 <META NAME="CHANGED" CONTENT="20071022;14380303">
\r
10 <STYLE TYPE="text/css">
\r
12 H2.heading-2 { font-family: tahoma, verdana, sans-serif; color="GRAY"; font-size: 18pt; }
\r
13 H3.heading-3 { font-size: 16pt; font-variant: small-caps; }
\r
17 <BODY LANG="en-US" DIR="LTR">
\r
18 <H1>Getting and Installing the Required Tools for Building EDK II</H1>
\r
19 <H2 CLASS="heading-2">Table of Contents<A NAME="TOP"></A></H2>
\r
21 <LI><A HREF="#Requirements">Requirements</A></LI>
\r
22 <LI><A HREF="#3rdPartyTools">Third Party Tools</A></LI>
\r
23 <LI><A HREF="#Install">Installation & Configuration</A></LI>
\r
24 <LI><A HREF="#EnvVars">Environment Variables</A></LI>
\r
25 <LI><A HREF="#FirstBuild">First Build</A></LI>
\r
29 <H2 CLASS="heading-2"><A NAME="Requirements"></A>Requirements</H2>
\r
30 <DIV ID="requirements" DIR="LTR"><A NAME="requirements_table"></A>
\r
32 <LI>An IA32 or X64 based development workstation (IPF workstations are not supported)</LI>
\r
33 <LI>Microsoft Windows XP or Vista, Apple Mac OS/X (10.4 or later) or Linux operating system</LI>
\r
34 <LI>Disk space for compiler tools</LI>
\r
35 <LI>Minimum of 1GB of disk space for edk2 development tree and output files</LI>
\r
36 <LI>Minimum of 512MB (1GB recommended) of system memory </LI>
\r
38 <P>The one of the following is required to be able to obtain the EDK II.</P>
\r
39 <TABLE BORDER=1 CELLPADDING=1 CELLSPACING=0>
\r
42 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>
\r
45 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>
\r
48 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>
\r
53 <P ALIGN=CENTER><B>TortoiseSVN</B></P>
\r
56 <P ALIGN=CENTER><B>1.4.5</B></P>
\r
59 <P ALIGN=CENTER><A HREF="http://tortoisesvn.net/downloads">http://tortoisesvn.net/downloads</A></P>
\r
64 <P ALIGN=CENTER><B>Windows SVN Command Line Tool</B></P>
\r
67 <P ALIGN=CENTER><B>1.4.5</B></P>
\r
70 <P ALIGN=CENTER><A HREF="http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91">http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91</A></P>
\r
76 <P ALIGN=CENTER><B>Mac OS/X SVN Command Line Tool</B></P>
\r
79 <P ALIGN=CENTER><B>1.4.4</B></P>
\r
82 <P ALIGN=CENTER><A HREF="http://downloads.open.collab.net/binaries.html">http://downloads.open.collab.net/binaries.html</A></P>
\r
88 <P ALIGN=CENTER><B>Linux SVN Command Line Tool</B></P>
\r
91 <P ALIGN=CENTER><B>1.4.5</B></P>
\r
94 <P ALIGN=CENTER><A HREF="http://subversion.tigris.org/project_packages.html">http://subversion.tigris.org/project_packages.html</A></P>
\r
98 <!-- Removed ANT/JAVA information -->
\r
101 <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A> <A HREF="#Top">Back to Top</A></P>
\r
104 <H2 CLASS="heading-2"><A NAME="3rdPartyTools"></A>Third Party Tools</H2>
\r
105 <P>The following tools are optional (at least one 3<sup>rd</sup> party compiler tool chain is required):</P>
\r
106 <DIV ID="Section1" DIR="LTR">
\r
107 <TABLE BORDER=1 CELLPADDING=1 CELLSPACING=0>
\r
110 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>
\r
113 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>
\r
116 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>
\r
121 <P ALIGN=CENTER><B>Cygwin</B><sup>1</sup></P>
\r
124 <P ALIGN=CENTER><B>Current</B></P>
\r
127 <P ALIGN=CENTER><A HREF="http://www.cygwin.com/">http://www.cygwin.com</A>
\r
133 <P ALIGN=CENTER><B>Microsoft Visual Studio</B><sup>2</sup></P>
\r
136 <P ALIGN=CENTER><B>2005 Professional</B>
\r
140 <P ALIGN=CENTER><A HREF="http://msdn2.microsoft.com/en-us/vstudio/default.aspx">http://msdn2.microsoft.com/en-us/vstudio</A></P>
\r
145 <P ALIGN=CENTER><B>Microsoft Visual Studio</B><sup>3</sup></P>
\r
148 <P ALIGN=CENTER><B>2005 Team Suite</B>
\r
152 <P ALIGN=CENTER><A HREF="http://msdn2.microsoft.com/en-us/vstudio/default.aspx">http://msdn2.microsoft.com/en-us/vstudio</A></P>
\r
157 <P ALIGN=CENTER><B>Microsoft Visual Studio</B><sup>4</sup></P>
\r
160 <P ALIGN=CENTER><B>2003 .NET</B>
\r
164 <P ALIGN=CENTER><A HREF="http://msdn2.microsoft.com/en-us/vstudio/default.aspx">http://msdn2.microsoft.com/en-us/vstudio</A></P>
\r
169 <P ALIGN=CENTER><B>Intel C++ Compiler for Windows</B><sup>5></sup></P>
\r
172 <P ALIGN=CENTER><B>9.1</B>
\r
176 <P ALIGN=CENTER><A HREF="http://www.intel.com/">http://www.intel.com</A></P>
\r
181 <P ALIGN=CENTER><B>Intel C Compiler for EFI Byte Code</B></P>
\r
184 <P ALIGN=CENTER><B>1.2</B></P>
\r
187 <P ALIGN=CENTER><A HREF="http://www.intel.com/cd/software/products/asmo-na/eng/compilers/efibc/index.htm">http://www.intel.com/cd/software/products</A><BR><A HREF="http://www.intel.com/cd/software/products/asmo-na/eng/compilers/efibc/index.htm">/asmo-na/eng/compilers/efibc/index.htm</A></P>
\r
192 <P ALIGN=CENTER><B>Microsoft Driver Development Kit</B><sup>6</sup><B> (DDK)</B></P>
\r
195 <P ALIGN=CENTER><B>3790.1830</B></P>
\r
198 <P ALIGN=CENTER><A HREF="http://www.microsoft.com/whdc/devtools/ddk/orderddkcd.mspx">http://www.microsoft.com/whdc/devtools/ddk/orderddkcd.mspx</A></P>
\r
203 <P ALIGN=CENTER><B>Microsoft ACPI Source Language Assembler</B></P>
\r
206 <P ALIGN=CENTER><B>3.0.0NT or later</B></P>
\r
209 <P ALIGN=CENTER><A HREF="http://www.microsoft.com/whdc/system/pnppwr/powermgmt/default.mspx">
\r
210 http://www.microsoft.com/whdc/system/pnppwr/powermgmt/default.mspx</A></P>
\r
215 <P ALIGN=CENTER><B>Intel ACPI Component Architecture</B></P>
\r
218 <P ALIGN=CENTER><B>20060113 or later</B></P>
\r
221 <P ALIGN=CENTER><A HREF="http://www.intel.com/technology/iapc/acpi/downloads.htm">http://www.intel.com/technology/iapc/acpi/downloads.htm</A></P>
\r
229 <FONT SIZE="2"><sup>1</sup> Instructions for installation of GCC are included in the BaseTools\gcc directory.</FONT><BR>
\r
230 <FONT SIZE="2"><sup>2</sup> The default tool chain for the IA32 and X64 builds.</FONT><BR>
\r
231 <FONT SIZE="2"><sup>3</sup> Needed for building IPF targets if the DDK is not installed.</FONT><BR>
\r
232 <FONT SIZE="2"><sup>4</sup> May only be available through a MSDN subscription.</FONT><BR>
\r
233 <FONT SIZE="2"><sup>5</sup> The Intel Compiler requires a Microsoft Visual Studio installation.</FONT><BR>
\r
234 <FONT SIZE="2"><sup>6</sup> The default tool chain for IPF builds.</FONT>
\r
236 <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A> <A HREF="#Top">Back to Top</A></P>
\r
239 <H2 CLASS="heading-2"><A NAME="Install"></A>Install and Configure Tools on Windows XP or Windows Vista</H2>
\r
240 <H3 CLASS="heading-3">Software Installation Order</H3>
\r
241 <P>After installing the compiler tools and your Subversion client,
\r
242 download the edk2, read the BuildNotes2.txt file and you will be
\r
243 ready to build an image.</P>
\r
244 <P>All builds are started from a command prompt window.</P>
\r
245 <H3 CLASS="heading-3">Cygwin</H3>
\r
246 <P>If you optionally install cygwin (for gcc support) you should
\r
247 install it in "Unix" mode. The gcc tool chain will not
\r
248 compile in "DOS" mode.</P>
\r
250 <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A> <A HREF="#Top">Back to Top</A></P>
\r
251 <H2 CLASS="heading-2"><A NAME="EnvVars"></A>Environment Variables</H2>
\r
252 <P>Environment variables are <B>case sensitive</B>. You must use
\r
253 the exact case as in the examples of this document. Even though
\r
254 windows does not care about case, other operating systems that
\r
255 are supported do care about case.<BR><BR>You need to set
\r
256 WORKSPACE to the location of the edk2 directory that you pulled
\r
257 from Subversion. For example:</P>
\r
258 <P><FONT STYLE="margin-bottom: 0.2in;" FACE="courier, 'courier new', monospace" color="#771100">set WORKSPACE=c:\workspace\edk2</FONT><P>
\r
259 It is recommended that you wrap up all the environment variables
\r
260 above into a script that you can launch each time you begin to do
\r
261 development in your EDK II workspace.</P>
\r
263 <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A> <A HREF="#Top">Back to Top</A></P>
\r
264 <H2 CLASS="heading-2"><A NAME="FirstBuild"></A>First Build</H2>
\r
265 <P>You will need to edit the text file, tools_def.txt which is created
\r
266 the first time you run the edksetup script<sup>7</sup>. The file is located
\r
267 in the %WORKSPACE%\Conf directory. This file contains the names of the
\r
268 compiler tool chains and the location of the compiler binaries. It
\r
269 has been pre-populated with the standard location for the Microsoft
\r
270 tool chains and includes the standard location of the Intel C
\r
271 Compiler for EFI Byte Code (EBC).</P>
\r
272 <P>Once the external tools are installed and the environment variables
\r
273 are set, you can try a build.
\r
276 <LI><FONT STYLE="margin-bottom: 0in;" FACE="courier, 'courier new', monospace" color='#771100'>cd %WORKSPACE%</FONT>
\r
277 <LI><FONT STYLE="margin-bottom: 0in;" FACE="courier, 'courier new', monospace" color='#771100'>edksetup.bat --nt32 newbuild</FONT>
\r
278 <UL>This will set the PATH to point to the directory containing the
\r
279 Win32 binaries of the EDK II tools used in edk2 development. It will
\r
280 fail if the external tools above are not properly installed.<BR>
\r
281 Using the --nt32 switch will run "%VS80COMNTOOLS%\vsvars32" (VS2005) or
\r
282 "%VS71COMNTOOLS%\vsvars32" (VS2003.NET) to setup standard C FLAGS,
\r
283 Library and Include locations to build the Nt32 emulation environment.<BR>
\r
284 <B>Note:</B> If you do not want to build the Nt32 emulation environment, you do not
\r
285 need to use the --nt32 switch or run vsvars32.bat.</UL>
\r
286 <LI><FONT STYLE="margin-bottom: 0in">Modify Conf/tools_def.txt<sup>8</sup></LI></FONT>
\r
287 <LI><FONT STYLE="margin-bottom: 0in;" FACE="courier, 'courier new', monospace" color='#771100'>cd Nt32Pkg</FONT>
\r
288 <LI><FONT STYLE="margin-bottom: 0in;" FACE="courier, 'courier new', monospace" color='#771100'>build</FONT>
\r
289 <P>The default build output directory is: %WORKSPACE%\Build\NT32\DEBUG_MYTOOLS\ </P>
\r
292 <P><FONT SIZE="2"><sup>7</sup> The first time the edksetup script is executed, it
\r
293 creates three files in the %WORKSPACE%\Conf directory. The files tools_def.txt, target.txt and
\r
294 build_rule.txt are only created if they do not exist, if they exist, then they are
\r
295 not touched.</FONT><BR>
\r
296 <FONT SIZE="2"><sup>8</sup> The tools_def.txt file only needs to be modified the
\r
297 first time, or if you modify the location of the 3<sup>rd</sup> party tool chains after
\r
298 having setup the file.</FONT></P>
\r
299 <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A> <A HREF="#Top">Back to Top</A></P>
\r