Temporarily disable /WX for HelloWorld module, for there is a bug in tool, which...
[people/mcb30/edk2.git] / www / installation.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
2 <HTML>\r
3 <HEAD>\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="Bruce Bahnsen">\r
9         <META NAME="CHANGED" CONTENT="20060706;14380303">\r
10         <STYLE>\r
11         <!--\r
12                 H3.heading-2 { font-size: 18pt }\r
13         -->\r
14         </STYLE>\r
15 </HEAD>\r
16 <BODY LANG="en-US" DIR="LTR">\r
17 <H1>Getting and installing the required tools for building the EDK II</H1>\r
18 <H3 CLASS="heading-2">Table of Contents</H3>\r
19 <UL>\r
20         <LI><P><A HREF="#Requirements">Requirements</A> \r
21         </P>\r
22 </UL>\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
25 </P>\r
26 <DIV ID="requirements" DIR="LTR"><A NAME="requirements_table"></A>\r
27         <TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0>\r
28                 <TR>\r
29                         <TH>\r
30                                 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>\r
31                         </TH>\r
32                         <TH>\r
33                                 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>\r
34                         </TH>\r
35                         <TH>\r
36                                 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>\r
37                         </TH>\r
38                 </TR>\r
39                 <TR>\r
40                         <TD>\r
41                                 <P ALIGN=CENTER><B>TortoiseSVN</B></P>\r
42                         </TD>\r
43                         <TD>\r
44                                 <P ALIGN=CENTER><B>1.3.3</B></P>\r
45                         </TD>\r
46                         <TD>\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
48                         </TD>\r
49                 </TR>\r
50                 <TR>\r
51                         <TD>\r
52                                 <P ALIGN=CENTER><B>Ant</B></P>\r
53                         </TD>\r
54                         <TD>\r
55                                 <P ALIGN=CENTER><B>1.6.5</B></P>\r
56                         </TD>\r
57                         <TD>\r
58                                 <P ALIGN=CENTER><A HREF="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</A></P>\r
59                         </TD>\r
60                 </TR>\r
61                 <TR>\r
62                         <TD>\r
63                                 <P ALIGN=CENTER><B>Ant Contrib</B></P>\r
64                         </TD>\r
65                         <TD>\r
66                                 <P ALIGN=CENTER><B>1.0b2</B></P>\r
67                         </TD>\r
68                         <TD>\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
70                         </TD>\r
71                 </TR>\r
72                 <TR>\r
73                         <TD>\r
74                                 <P ALIGN=CENTER><B>Java JDK</B></P>\r
75                         </TD>\r
76                         <TD>\r
77                                 <P ALIGN=CENTER><B>1.5.x</B></P>\r
78                         </TD>\r
79                         <TD>\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
81                         </TD>\r
82                 </TR>\r
83                 <TR>\r
84                         <TD>\r
85                                 <P ALIGN=CENTER><B>Saxon-B</B></P>\r
86                         </TD>\r
87                         <TD>\r
88                                 <P ALIGN=CENTER><B>8.1.1 for Java</B></P>\r
89                         </TD>\r
90                         <TD>\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
92                         </TD>\r
93                 </TR>\r
94                 <TR>\r
95                         <TD>\r
96                                 <P ALIGN=CENTER><B>XMLBeans</B></P>\r
97                         </TD>\r
98                         <TD>\r
99                                 <P ALIGN=CENTER><B>2.1.0</B></P>\r
100                         </TD>\r
101                         <TD>\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
103                         </TD>\r
104                 </TR>\r
105         </TABLE>\r
106         <P><BR><BR>\r
107         </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
111                         <TR>\r
112                                 <TH>\r
113                                         <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>\r
114                                 </TH>\r
115                                 <TH>\r
116                                         <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>\r
117                                 </TH>\r
118                                 <TH>\r
119                                         <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>\r
120                                 </TH>\r
121                         </TR>\r
122                         <TR>\r
123                                 <TD>\r
124                                         <P ALIGN=CENTER><B>Cygwin</B></P>\r
125                                 </TD>\r
126                                 <TD>\r
127                                         <P ALIGN=CENTER><B>Current</B></P>\r
128                                 </TD>\r
129                                 <TD>\r
130                                         <P ALIGN=CENTER><A HREF="http://www.cygwin.com/">http://www.cygwin.com</A></P>\r
131                                 </TD>\r
132                         </TR>\r
133                         <TR>\r
134                                 <TD>\r
135                                         <P ALIGN=CENTER><B>Intel C++ Compiler for Windows</B></P>\r
136                                 </TD>\r
137                                 <TD>\r
138                                         <P ALIGN=CENTER><B>9.0 </B>\r
139                                         </P>\r
140                                 </TD>\r
141                                 <TD>\r
142                                         <P ALIGN=CENTER><A HREF="http://www.intel.com/">http://www.intel.com</A></P>\r
143                                 </TD>\r
144                         </TR>\r
145                         <TR>\r
146                                 <TD>\r
147                                         <P ALIGN=CENTER><B>Intel C Compiler for EFI Byte Code</B></P>\r
148                                 </TD>\r
149                                 <TD>\r
150                                         <P ALIGN=CENTER><B>1.2</B></P>\r
151                                 </TD>\r
152                                 <TD>\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
154                                 </TD>\r
155                         </TR>\r
156                         <TR>\r
157                                 <TD>\r
158                                         <P ALIGN=CENTER><B>Microsoft Driver Development Kit</B></P>\r
159                                 </TD>\r
160                                 <TD>\r
161                                         <P ALIGN=CENTER><B>3790.1830</B></P>\r
162                                 </TD>\r
163                                 <TD>\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
165                                 </TD>\r
166                         </TR>\r
167                         <TR>\r
168                                 <TD>\r
169                                         <P ALIGN=CENTER><B>Microsoft ACPI Source Language Assembler</B></P>\r
170                                 </TD>\r
171                                 <TD>\r
172                                         <P ALIGN=CENTER><B>1.0.13NT</B></P>\r
173                                 </TD>\r
174                                 <TD>\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
176                                 </TD>\r
177                         </TR>\r
178                         <TR>\r
179                                 <TD>\r
180                                         <P ALIGN=CENTER><B>Intel ACPI Component Architecture</B></P>\r
181                                 </TD>\r
182                                 <TD>\r
183                                         <P ALIGN=CENTER><B>20060113</B></P>\r
184                                 </TD>\r
185                                 <TD>\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
187                                 </TD>\r
188                         </TR>\r
189                 </TABLE>\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.)&nbsp;\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
205                 install.</P>\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
211                 </P>\r
212                 <PRE STYLE="margin-bottom: 0.2in">set ANT_HOME=&lt;full path to where ant was unzipped&gt;</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=&lt;full path to where xmlbeans was unzipped&gt;</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
223                 <CENTER>\r
224                         <TABLE WIDTH=80% BORDER=1 CELLPADDING=4 CELLSPACING=3 STYLE="page-break-inside: avoid">\r
225                                 <COL WIDTH=256*>\r
226                                 <THEAD>\r
227                                         <TR>\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
234                                                 </TD>\r
235                                         </TR>\r
236                                 </THEAD>\r
237                         </TABLE>\r
238                 </CENTER>\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
241                 Cygwin</H3>\r
242                 <P>If you optionally install cygwin (for gcc support) you should\r
243                 install it in &quot;Unix&quot; mode. The gcc tool chain will not\r
244                 compile in &quot;DOS&quot; 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 EDK II 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
264                 a build.</P>\r
265                 <OL>\r
266                         <LI><P STYLE="margin-bottom: 0in">cd to %WORKSPACE% \r
267                         </P>\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 EdkNt32Pkg \r
272                         </P>\r
273                         <LI><P>type build \r
274                         </P>\r
275                 </OL>\r
276         </DIV>\r
277 </DIV>\r
278 </BODY>\r
279 </HTML>