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 2.0 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="Bruce Bahnsen">
\r
9 <META NAME="CHANGED" CONTENT="20060706;14202868">
\r
12 H3.heading-2 { font-size: 18pt }
\r
16 <BODY LANG="en-US" DIR="LTR">
\r
17 <H1>Getting and installing the required tools for building the EDK2</H1>
\r
18 <H3 CLASS="heading-2">Table of Contents</H3>
\r
20 <LI><P><A HREF="#Requirements">Requirements</A>
\r
23 <H3 CLASS="heading-2"><A NAME="Requirements"></A>Requirements</H3>
\r
24 <P>The following are required to be able to build the EDK:
\r
26 <DIV ID="requirements" DIR="LTR"><A NAME="requirements_table"></A>
\r
27 <TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0>
\r
30 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>
\r
33 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>
\r
36 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>
\r
41 <P ALIGN=CENTER><B>TortoiseSVN</B></P>
\r
44 <P ALIGN=CENTER><B>1.3.3</B></P>
\r
47 <P ALIGN=CENTER><A HREF="http://prdownloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.3.3.6219-svn-1.3.1.msi?download">http://prdownloads.sourceforge.net/tortoisesvn/</A><BR><A HREF="http://prdownloads.sourceforge.net/tortoisesvn/TortoiseSVN-1.3.3.6219-svn-1.3.1.msi?download">TortoiseSVN-1.3.3.6219-svn-1.3.1.msi?download</A></P>
\r
52 <P ALIGN=CENTER><B>Ant</B></P>
\r
55 <P ALIGN=CENTER><B>1.6.5</B></P>
\r
58 <P ALIGN=CENTER><A HREF="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</A></P>
\r
63 <P ALIGN=CENTER><B>Ant Contrib</B></P>
\r
66 <P ALIGN=CENTER><B>1.0b2</B></P>
\r
69 <P ALIGN=CENTER><A HREF="http://prdownloads.sourceforge.net/ant-contrib/ant-contrib-1.0b2-bin.zip?download">http://prdownloads.sourceforge.net/ant-contrib/ant-contrib-1.0b2-bin.zip?download</A></P>
\r
74 <P ALIGN=CENTER><B>Java JDK</B></P>
\r
77 <P ALIGN=CENTER><B>1.5.x</B></P>
\r
80 <P ALIGN=CENTER><A HREF="http://java.sun.com/j2se/1.5.0/download.jsp">http://java.sun.com/j2se/1.5.0/download.jsp</A></P>
\r
85 <P ALIGN=CENTER><B>Saxon-B</B></P>
\r
88 <P ALIGN=CENTER><B>8.1.1 for Java</B></P>
\r
91 <P ALIGN=CENTER><A HREF="http://prdownloads.sourceforge.net/saxon/saxonb8-1-1.zip">http://prdownloads.sourceforge.net/saxon/saxonb8-1-1.zip</A></P>
\r
96 <P ALIGN=CENTER><B>XMLBeans</B></P>
\r
99 <P ALIGN=CENTER><B>2.1.0</B></P>
\r
102 <P ALIGN=CENTER><A HREF="http://www.apache.org/dyn/closer.cgi/xmlbeans/binaries">http://www.apache.org/dyn/closer.cgi/xmlbeans/binaries</A></P>
\r
108 <P>The following tools are optional:</P>
\r
109 <DIV ID="Section1" DIR="LTR"><A NAME="requirements"></A><A NAME="requirements_table1"></A>
\r
110 <TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0>
\r
113 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>
\r
116 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>
\r
119 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>
\r
124 <P ALIGN=CENTER><B>Cygwin</B></P>
\r
127 <P ALIGN=CENTER><B>Current</B></P>
\r
130 <P ALIGN=CENTER><A HREF="http://www.cygwin.com/">http://www.cygwin.com</A></P>
\r
135 <P ALIGN=CENTER><B>Intel C++ Compiler for Windows</B></P>
\r
138 <P ALIGN=CENTER><B>9.0 </B>
\r
142 <P ALIGN=CENTER><A HREF="http://www.intel.com/">http://www.intel.com</A></P>
\r
147 <P ALIGN=CENTER><B>Intel C Compiler for EFI Byte Code</B></P>
\r
150 <P ALIGN=CENTER><B>1.2</B></P>
\r
153 <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
158 <P ALIGN=CENTER><B>Microsoft Driver Development Kit</B></P>
\r
161 <P ALIGN=CENTER><B>3790.1830</B></P>
\r
164 <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
169 <P ALIGN=CENTER><B>Microsoft ACPI Source Language Assembler</B></P>
\r
172 <P ALIGN=CENTER><B>1.0.13NT</B></P>
\r
175 <P ALIGN=CENTER><A HREF="http://download.microsoft.com/download/0/e/2/0e258da3-dd7a-4d3b-9b48-8673b6b5897c/ASL.exe">http://download.microsoft.com/download/0/e/2/0e2</A><BR><A HREF="http://download.microsoft.com/download/0/e/2/0e258da3-dd7a-4d3b-9b48-8673b6b5897c/ASL.exe">58da3-dd7a-4d3b-9b48-8673b6b5897c/ASL.exe</A></P>
\r
180 <P ALIGN=CENTER><B>Intel ACPI Component Architecture</B></P>
\r
183 <P ALIGN=CENTER><B>20060113</B></P>
\r
186 <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
190 <H3 CLASS="heading-2">Install and Configure Tools on Windows XP</H3>
\r
191 <H3>Software Installation Order</H3>
\r
192 <P>After installing the compiler tools and your Subversion client,
\r
193 the following required tools should be installed in this order:
\r
194 <BR>Java JDK, Apache-Ant, ant-contrib, xmlbeans, saxon8</P>
\r
195 <H3>Java Development Kit</H3>
\r
196 <P>The Java Environment Variable must be set before attempting to
\r
197 build.<BR>e.g. For Sun JDK:</P>
\r
198 <PRE STYLE="margin-bottom: 0.2in">set JAVA_HOME=c:\Java\jdk1.5.0_06</PRE><P>
\r
199 During installation, you should specify the install directory as
\r
200 C:\Java instead of C:\Program Files (or some other drive letter.)
\r
201 While installing to this non-standard location is not required. In
\r
202 use, it seems to work more reliably.<BR><BR>NOTE: You cannot
\r
203 combine the location for the JDK and the JRE, as the JRE install
\r
204 removes most of the binaries and libraries installed by the JDK
\r
206 <H3>Java Tools</H3>
\r
207 <P>The Apache-ANT requires the ANT_HOME environment variable to be
\r
208 set before attempting to build:<BR><BR>Unzip
\r
209 <B>apache-ant-1.6.5-bin.zip</B> to a directory. We need to set an
\r
210 environment variable ANT_HOME to this location:
\r
212 <PRE STYLE="margin-bottom: 0.2in">set ANT_HOME=<full path to where ant was unzipped></PRE><P>
\r
213 Unzip the <B>ant-contrib-1.0b2-bin.zip</B> file. The
\r
214 ant-contrib.jar file should be <B>copied </B>into the
\r
215 %ANT_HOME%\lib directory.<BR><BR>Unzip <B>xmlbeans-2.1.0.zip</B> to
\r
216 a directory. XMLBeans requires the XMLBEANS_HOME environment
\r
217 variable to be set before attempting to build:</P>
\r
218 <PRE STYLE="margin-bottom: 0.2in">set XMLBEANS_HOME=<full path to where xmlbeans was unzipped></PRE><P>
\r
219 Unzip the <B>saxonb8-1-1.zip</B> file. The saxon8.jar file should
\r
220 be <B>copied </B>to the %XMLBEANS_HOME%\lib directory. Do <I>not
\r
221 </I>download a later version of saxon 8. You will get the following
\r
222 error message if you do:</P>
\r
224 <TABLE WIDTH=80% BORDER=1 CELLPADDING=4 CELLSPACING=3 STYLE="page-break-inside: avoid">
\r
228 <TD WIDTH=100% VALIGN=TOP>
\r
229 <P><FONT FACE="Courier New, monospace">build.xml:45:
\r
230 java.lang.RuntimeException: Trying XBeans path engine...
\r
231 Trying XQRL... Trying Saxon... FAILED on declare namespace
\r
232 sans='http://www.TianoCore.org/2006/Edk2.0';
\r
233 $this/sans:FrameworkPlatformDescription/sans:Flash/sans:FvImages/sans:FvImage[@Type='ValidImageNames']/sans:FvImageNames</FONT></P>
\r
239 <P>The Ant and XMLBean tools are required to be in the path.</P>
\r
240 <PRE STYLE="margin-bottom: 0.2in">set PATH=%PATH%;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin</PRE><H3>
\r
242 <P>If you optionally install cygwin (for gcc support) you should
\r
243 install it in "Unix" mode. The gcc tool chain will not
\r
244 compile in "DOS" mode.</P>
\r
245 <H3 CLASS="heading-2">Environment Variables</H3>
\r
246 <P>Environment variables are <B>case sensitive</B>. You must use
\r
247 the exact case as in the examples of this document. Even though
\r
248 windows does not care about case, Java does.<BR><BR>You need to set
\r
249 WORKSPACE to the location of the edk2 directory that you pulled
\r
250 from Subversion. For example</P>
\r
251 <PRE STYLE="margin-bottom: 0.2in">set WORKSPACE=c:\workspace\edk2\</PRE><P>
\r
252 It is recommended that you wrap up all the environment variables
\r
253 above into a script that you can launch each time you begin to do
\r
254 development in your EDK2 workspace.</P>
\r
255 <H3 CLASS="heading-2">The first build</H3>
\r
256 <P>You will need to edit the text file, msft_tools_def.txt, located
\r
257 in the Tools/Conf directory. This file contains the names of the
\r
258 compiler tool chains and the location of the compiler binaries. It
\r
259 has been pre-populated with the standard location for the Microsoft
\r
260 tool chains and includes the standard location of the Intel C
\r
261 Compiler for EFI Byte Code (EBC).</P>
\r
262 <P>Once the external tools are installed, the environment variables
\r
263 are set, and you have the ant executable in your path, you can try
\r
266 <LI><P STYLE="margin-bottom: 0in">cd to %WORKSPACE%
\r
268 <LI><P STYLE="margin-bottom: 0in">run edksetup.bat (this will
\r
269 build several tools that are used in edk2 development. It will
\r
270 fail if the external tools above are not properly installed.)</P>
\r
271 <LI><P STYLE="margin-bottom: 0in">cd MdePkg
\r