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="20060512;13064926">
\r
11 <BODY LANG="en-US" DIR="LTR">
\r
12 <H3>Getting and installing the required tools for building the EDK2</H3>
\r
13 <H3>Table of Contents</H3>
\r
15 <LI><P><A HREF="#Requirements">Requirements</A>
\r
18 <H3><A NAME="Requirements"></A>Requirements</H3>
\r
19 <P>The following are required to be able to build the EDK:
\r
21 <DIV ID="requirements" DIR="LTR"><A NAME="requirements_table"></A>
\r
22 <TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0>
\r
25 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>
\r
28 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>
\r
31 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>
\r
36 <P ALIGN=CENTER><B>TortoiseSVN</B></P>
\r
39 <P ALIGN=CENTER><B>1.3.3</B></P>
\r
42 <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
47 <P ALIGN=CENTER><B>Ant</B></P>
\r
50 <P ALIGN=CENTER><B>1.6.5</B></P>
\r
53 <P ALIGN=CENTER><A HREF="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</A></P>
\r
58 <P ALIGN=CENTER><B>Ant Contrib</B></P>
\r
61 <P ALIGN=CENTER><B>1.0b2</B></P>
\r
64 <P ALIGN=CENTER><A HREF="http://sourceforge.net/project/showfiles.php?group_id=36177">http://sourceforge.net/project/showfiles.php?group_id=36177</A></P>
\r
69 <P ALIGN=CENTER><B>Java JDK</B></P>
\r
72 <P ALIGN=CENTER><B>1.5.x</B></P>
\r
75 <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
80 <P ALIGN=CENTER><B>Saxon-B</B></P>
\r
83 <P ALIGN=CENTER><B>8.1.1 for Java</B></P>
\r
86 <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
91 <P ALIGN=CENTER><B>XMLBeans</B></P>
\r
94 <P ALIGN=CENTER><B>2.1.0</B></P>
\r
97 <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
103 <P>The following tools are optional:</P>
\r
104 <DIV ID="Section1" DIR="LTR"><A NAME="requirements"></A><A NAME="requirements_table1"></A>
\r
105 <TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0>
\r
108 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>
\r
111 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>
\r
114 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>
\r
119 <P ALIGN=CENTER><B>Cygwin</B></P>
\r
122 <P ALIGN=CENTER><B>Current</B></P>
\r
125 <P ALIGN=CENTER><A HREF="http://www.cygwin.com/">http://www.cygwin.com</A></P>
\r
130 <P ALIGN=CENTER><B>Intel C++ Compiler for Windows</B></P>
\r
133 <P ALIGN=CENTER><B>9.0 </B>
\r
137 <P ALIGN=CENTER><A HREF="http://www.intel.com/">http://www.intel.com</A></P>
\r
142 <P ALIGN=CENTER><B>Intel C Compiler for EFI Byte Code</B></P>
\r
145 <P ALIGN=CENTER><B>1.2</B></P>
\r
148 <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
153 <P ALIGN=CENTER><B>Microsoft Driver Development Kit</B></P>
\r
156 <P ALIGN=CENTER><B>3790.1830</B></P>
\r
159 <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
164 <P ALIGN=CENTER><B>Microsoft ACPI Source Language Assembler</B></P>
\r
167 <P ALIGN=CENTER><B>1.0.13NT</B></P>
\r
170 <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
175 <P ALIGN=CENTER><B>Intel ACPI Component Architecture</B></P>
\r
178 <P ALIGN=CENTER><B>20060113</B></P>
\r
181 <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
185 <H3>Install and Configure Tools on Windows XP</H3>
\r
186 <H4>Software Installation Order</H4>
\r
187 <P>After installing the compiler tools and your Subversion client,
\r
188 the following required tools should be installed in this order:
\r
189 <BR>Java JDK, Apache-Ant, ant-contrib, xmlbeans, saxon8</P>
\r
190 <H4>Java Development Kit</H4>
\r
191 <P>The Java Environment Variable must be set before attempting to
\r
192 build.<BR>e.g. For Sun JDK:</P>
\r
193 <PRE STYLE="margin-bottom: 0.2in">set JAVA_HOME=c:\Java\jdk1.5.0_06</PRE><P>
\r
194 During installation, you should specify the install directory as
\r
195 C:\Java instead of C:\Program Files (or some other drive letter.)
\r
196 While installing to this non-standard location is not required. In
\r
197 use, it seems to work more reliably.<BR><BR>NOTE: You cannot
\r
198 combine the location for the JDK and the JRE, as the JRE install
\r
199 removes most of the binaries and libraries installed by the JDK
\r
201 <H4>Java Tools</H4>
\r
202 <P>The Apache-ANT requires the ANT_HOME environment variable to be
\r
203 set before attempting to build:<BR><BR>Unzip
\r
204 <B>apache-ant-1.6.5-bin.zip</B> to a directory. We need to set an
\r
205 environment variable ANT_HOME to this location:
\r
207 <PRE STYLE="margin-bottom: 0.2in">set ANT_HOME=<full path to where ant was unzipped></PRE><P>
\r
208 Unzip the <B>ant-contrib-1.0b2-bin.zip</B> file. The
\r
209 ant-contrib.jar file should be <B>copied </B>into the
\r
210 %ANT_HOME%\lib directory.<BR><BR>Unzip <B>xmlbeans-2.1.0.zip</B> to
\r
211 a directory. XMLBeans requires the XMLBEANS_HOME environment
\r
212 variable to be set before attempting to build:</P>
\r
213 <PRE STYLE="margin-bottom: 0.2in">set XMLBEANS_HOME=<full path to where xmlbeans was unzipped></PRE><P>
\r
214 Unzip the <B>saxonb8-1-1.zip</B> file. The saxon8.jar file should
\r
215 be <B>copied </B>to the %XMLBEANS_HOME%\lib directory. Do <I>not
\r
216 </I>download a later version of saxon 8. You will get the following
\r
217 error message if you do:</P>
\r
218 <P>The Ant and XMLBean tools are required to be in the path.</P>
\r
219 <PRE STYLE="margin-bottom: 0.2in">set PATH=%PATH%;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin</PRE><H3>
\r
221 <P>If you optionally install cygwin (for gcc support) you should
\r
222 install it in "Unix" mode. The gcc tool chain will not
\r
223 compile in "DOS" mode.</P>
\r
224 <H3>Environment Variables</H3>
\r
225 <P>Environment variables are <B>case sensitive</B>. You must use
\r
226 the exact case as in the examples of this document. Even though
\r
227 windows does not care about case, Java does.<BR><BR>You need to set
\r
228 WORKSPACE to the location of the edk2 directory that you pulled
\r
229 from Subversion. For example</P>
\r
230 <PRE STYLE="margin-bottom: 0.2in">set WORKSPACE=c:\workspace\edk2\</PRE><P>
\r
231 It is recommended that you wrap up all the environment variables
\r
232 above into a script that you can launch each time you begin to do
\r
233 development in your EDK2 workspace.</P>
\r
234 <H3>The first build</H3>
\r
235 <P>Once the external tools are installed, the environment variables
\r
236 are set, and you have the ant executable in your path, you can try
\r
239 <LI><P STYLE="margin-bottom: 0in">cd to %WORKSPACE%
\r
241 <LI><P STYLE="margin-bottom: 0in">run edksetup.bat (this will
\r
242 build several tools that are used in edk2 development. It will
\r
243 fail if the external tools above are not properly installed.)</P>
\r
244 <LI><P STYLE="margin-bottom: 0in">cd MdePkg
\r