blob: a62c6c2a26283f92ddf4e64d26a4d2a8da444bf4 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
<TITLE>EDK II Installation Guide</TITLE>
<META NAME="GENERATOR" CONTENT="OpenOffice.org 2.0 (Win32)">
<META NAME="CREATED" CONTENT="20060512;12074440">
<META NAME="CHANGEDBY" CONTENT="Bruce Bahnsen">
<META NAME="CHANGED" CONTENT="20060706;14380303">
<STYLE>
<!--
H3.heading-2 { font-size: 18pt }
-->
</STYLE>
</HEAD>
<BODY LANG="en-US" DIR="LTR">
<H1>Getting and installing the required tools for building the EDK II</H1>
<H3 CLASS="heading-2">Table of Contents</H3>
<UL>
<LI><P><A HREF="#Requirements">Requirements</A>
</P>
</UL>
<H3 CLASS="heading-2"><A NAME="Requirements"></A>Requirements</H3>
<P>The following are required to be able to build the EDK:
</P>
<DIV ID="requirements" DIR="LTR"><A NAME="requirements_table"></A>
<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0>
<TR>
<TH>
<P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>
</TH>
<TH>
<P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>
</TH>
<TH>
<P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>
</TH>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>TortoiseSVN</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>1.3.3</B></P>
</TD>
<TD>
<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>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Ant</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>1.6.5</B></P>
</TD>
<TD>
<P ALIGN=CENTER><A HREF="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</A></P>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Ant Contrib</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>1.0b2</B></P>
</TD>
<TD>
<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>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Java JDK</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>1.5.x</B></P>
</TD>
<TD>
<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>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Saxon-B</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>8.1.1 for Java</B></P>
</TD>
<TD>
<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>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>XMLBeans</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>2.1.0</B></P>
</TD>
<TD>
<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>
</TD>
</TR>
</TABLE>
<P><BR><BR>
</P>
<P>The following tools are optional:</P>
<DIV ID="Section1" DIR="LTR"><A NAME="requirements"></A><A NAME="requirements_table1"></A>
<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0>
<TR>
<TH>
<P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>
</TH>
<TH>
<P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>
</TH>
<TH>
<P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>
</TH>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Cygwin</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>Current</B></P>
</TD>
<TD>
<P ALIGN=CENTER><A HREF="http://www.cygwin.com/">http://www.cygwin.com</A></P>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Intel C++ Compiler for Windows</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>9.0 </B>
</P>
</TD>
<TD>
<P ALIGN=CENTER><A HREF="http://www.intel.com/">http://www.intel.com</A></P>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Intel C Compiler for EFI Byte Code</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>1.2</B></P>
</TD>
<TD>
<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>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Microsoft Driver Development Kit</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>3790.1830</B></P>
</TD>
<TD>
<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>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Microsoft ACPI Source Language Assembler</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>1.0.13NT</B></P>
</TD>
<TD>
<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>
</TD>
</TR>
<TR>
<TD>
<P ALIGN=CENTER><B>Intel ACPI Component Architecture</B></P>
</TD>
<TD>
<P ALIGN=CENTER><B>20060113</B></P>
</TD>
<TD>
<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>
</TD>
</TR>
</TABLE>
<H3 CLASS="heading-2">Install and Configure Tools on Windows XP</H3>
<H3>Software Installation Order</H3>
<P>After installing the compiler tools and your Subversion client,
the following required tools should be installed in this order:
<BR>Java JDK, Apache-Ant, ant-contrib, xmlbeans, saxon8</P>
<H3>Java Development Kit</H3>
<P>The Java Environment Variable must be set before attempting to
build.<BR>e.g. For Sun JDK:</P>
<PRE STYLE="margin-bottom: 0.2in">set JAVA_HOME=c:\Java\jdk1.5.0_06</PRE><P>
During installation, you should specify the install directory as
C:\Java instead of C:\Program Files (or some other drive letter.)&nbsp;
While installing to this non-standard location is not required. In
use, it seems to work more reliably.<BR><BR>NOTE: You cannot
combine the location for the JDK and the JRE, as the JRE install
removes most of the binaries and libraries installed by the JDK
install.</P>
<H3>Java Tools</H3>
<P>The Apache-ANT requires the ANT_HOME environment variable to be
set before attempting to build:<BR><BR>Unzip
<B>apache-ant-1.6.5-bin.zip</B> to a directory. We need to set an
environment variable ANT_HOME to this location:
</P>
<PRE STYLE="margin-bottom: 0.2in">set ANT_HOME=&lt;full path to where ant was unzipped&gt;</PRE><P>
Unzip the <B>ant-contrib-1.0b2-bin.zip</B> file. The
ant-contrib.jar file should be <B>copied </B>into the
%ANT_HOME%\lib directory.<BR><BR>Unzip <B>xmlbeans-2.1.0.zip</B> to
a directory. XMLBeans requires the XMLBEANS_HOME environment
variable to be set before attempting to build:</P>
<PRE STYLE="margin-bottom: 0.2in">set XMLBEANS_HOME=&lt;full path to where xmlbeans was unzipped&gt;</PRE><P>
Unzip the <B>saxonb8-1-1.zip</B> file. The saxon8.jar file should
be <B>copied </B>to the %XMLBEANS_HOME%\lib directory. Do <I>not
</I>download a later version of saxon 8. You will get the following
error message if you do:</P>
<CENTER>
<TABLE WIDTH=80% BORDER=1 CELLPADDING=4 CELLSPACING=3 STYLE="page-break-inside: avoid">
<COL WIDTH=256*>
<THEAD>
<TR>
<TD WIDTH=100% VALIGN=TOP>
<P><FONT FACE="Courier New, monospace">build.xml:45:
java.lang.RuntimeException: Trying XBeans path engine...
Trying XQRL... Trying Saxon... FAILED on declare namespace
sans='http://www.TianoCore.org/2006/Edk2.0';
$this/sans:FrameworkPlatformDescription/sans:Flash/sans:FvImages/sans:FvImage[@Type='ValidImageNames']/sans:FvImageNames</FONT></P>
</TD>
</TR>
</THEAD>
</TABLE>
</CENTER>
<P>The Ant and XMLBean tools are required to be in the path.</P>
<PRE STYLE="margin-bottom: 0.2in">set PATH=%PATH%;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin</PRE><H3>
Cygwin</H3>
<P>If you optionally install cygwin (for gcc support) you should
install it in &quot;Unix&quot; mode. The gcc tool chain will not
compile in &quot;DOS&quot; mode.</P>
<H3 CLASS="heading-2">Environment Variables</H3>
<P>Environment variables are <B>case sensitive</B>. You must use
the exact case as in the examples of this document. Even though
windows does not care about case, Java does.<BR><BR>You need to set
WORKSPACE to the location of the edk2 directory that you pulled
from Subversion. For example</P>
<PRE STYLE="margin-bottom: 0.2in">set WORKSPACE=c:\workspace\edk2\</PRE><P>
It is recommended that you wrap up all the environment variables
above into a script that you can launch each time you begin to do
development in your EDK II workspace.</P>
<H3 CLASS="heading-2">The first build</H3>
<P>You will need to edit the text file, msft_tools_def.txt, located
in the Tools/Conf directory. This file contains the names of the
compiler tool chains and the location of the compiler binaries. It
has been pre-populated with the standard location for the Microsoft
tool chains and includes the standard location of the Intel C
Compiler for EFI Byte Code (EBC).</P>
<P>Once the external tools are installed, the environment variables
are set, and you have the ant executable in your path, you can try
a build.</P>
<OL>
<LI><P STYLE="margin-bottom: 0in">cd to %WORKSPACE%
</P>
<LI><P STYLE="margin-bottom: 0in">run edksetup.bat (this will
build several tools that are used in edk2 development. It will
fail if the external tools above are not properly installed.)</P>
<LI><P STYLE="margin-bottom: 0in">cd EdkNt32Pkg
</P>
<LI><P>type build
</P>
</OL>
</DIV>
</DIV>
</BODY>
</HTML>