Updated VS 2003 .NET to include MASM 6.15 if DDK is not installed.
[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="Larry Hauch">\r
9         <META NAME="CHANGED" CONTENT="20071022;14380303">\r
10         <STYLE TYPE="text/css">\r
11         <!--\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
14         -->\r
15         </STYLE>\r
16 </HEAD>\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
20 <UL>\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
26 </UL>\r
27 \r
28 <P><BR></P>\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
31   <UL>\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
37   </UL>\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
40                 <TR>\r
41                         <TH>\r
42                                 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>\r
43                         </TH>\r
44                         <TH>\r
45                                 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>\r
46                         </TH>\r
47                         <TH>\r
48                                 <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>\r
49                         </TH>\r
50                 </TR>\r
51                 <TR>\r
52                         <TD>\r
53                                 <P ALIGN=CENTER><B>TortoiseSVN</B></P>\r
54                         </TD>\r
55                         <TD>\r
56                                 <P ALIGN=CENTER><B>1.4.5</B></P>\r
57                         </TD>\r
58                         <TD>\r
59                                 <P ALIGN=CENTER><A HREF="http://tortoisesvn.net/downloads">http://tortoisesvn.net/downloads</A></P>\r
60                         </TD>\r
61                 </TR>\r
62                 <TR>\r
63                         <TD>\r
64                                 <P ALIGN=CENTER><B>Windows SVN Command Line Tool</B></P>\r
65                         </TD>\r
66                         <TD>\r
67                                 <P ALIGN=CENTER><B>1.4.5</B></P>\r
68                         </TD>\r
69                         <TD>\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
71                         </TD>\r
72                 </TR>\r
73 \r
74                 <TR>\r
75                         <TD>\r
76                                 <P ALIGN=CENTER><B>Mac OS/X SVN Command Line Tool</B></P>\r
77                         </TD>\r
78                         <TD>\r
79                                 <P ALIGN=CENTER><B>1.4.4</B></P>\r
80                         </TD>\r
81                         <TD>\r
82                                 <P ALIGN=CENTER><A HREF="http://downloads.open.collab.net/binaries.html">http://downloads.open.collab.net/binaries.html</A></P>\r
83                         </TD>\r
84                 </TR>\r
85 \r
86                 <TR>\r
87                         <TD>\r
88                                 <P ALIGN=CENTER><B>Linux SVN Command Line Tool</B></P>\r
89                         </TD>\r
90                         <TD>\r
91                                 <P ALIGN=CENTER><B>1.4.5</B></P>\r
92                         </TD>\r
93                         <TD>\r
94                                 <P ALIGN=CENTER><A HREF="http://subversion.tigris.org/project_packages.html">http://subversion.tigris.org/project_packages.html</A></P>\r
95                         </TD>\r
96                 </TR>\r
97 \r
98     <!-- Removed ANT/JAVA information -->\r
99 \r
100         </TABLE>\r
101   <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A>&nbsp;<A HREF="#Top">Back to Top</A></P>\r
102 \r
103         <P><BR></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
108                         <TR>\r
109                                 <TH>\r
110                                         <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Name</FONT></P>\r
111                                 </TH>\r
112                                 <TH>\r
113                                         <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">Version</FONT></P>\r
114                                 </TH>\r
115                                 <TH>\r
116                                         <P STYLE="border: none; padding: 0in"><FONT COLOR="#ffffff">URL</FONT></P>\r
117                                 </TH>\r
118                         </TR>\r
119                         <TR>\r
120                                 <TD>\r
121                                         <P ALIGN=CENTER><B>Cygwin</B><sup>1</sup></P>\r
122                                 </TD>\r
123                                 <TD>\r
124                                         <P ALIGN=CENTER><B>Current</B></P>\r
125                                 </TD>\r
126                                 <TD>\r
127                                         <P ALIGN=CENTER><A HREF="http://www.cygwin.com/">http://www.cygwin.com</A>\r
128           </P>\r
129                                 </TD>\r
130                         </TR>\r
131                         <TR>\r
132                                 <TD>\r
133                                         <P ALIGN=CENTER><B>Microsoft Visual Studio</B><sup>2</sup></P>\r
134                                 </TD>\r
135                                 <TD>\r
136                                         <P ALIGN=CENTER><B>2005 Professional</B>\r
137                                         </P>\r
138                                 </TD>\r
139                                 <TD>\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
141                                 </TD>\r
142                         </TR>\r
143                         <TR>\r
144                                 <TD>\r
145                                         <P ALIGN=CENTER><B>Microsoft Visual Studio</B><sup>3</sup></P>\r
146                                 </TD>\r
147                                 <TD>\r
148                                         <P ALIGN=CENTER><B>2005 Team Suite</B>\r
149                                         </P>\r
150                                 </TD>\r
151                                 <TD>\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
153                                 </TD>\r
154                         </TR>\r
155                         <TR>\r
156                                 <TD>\r
157                                         <P ALIGN=CENTER><B>Microsoft Visual Studio</B><sup>4</sup></P>\r
158                                 </TD>\r
159                                 <TD>\r
160                                         <P ALIGN=CENTER><B>2003 .NET</B>\r
161                                         </P>\r
162                                 </TD>\r
163                                 <TD>\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
165                                 </TD>\r
166                         </TR>\r
167                         <TR>\r
168                                 <TD>\r
169                                         <P ALIGN=CENTER><B>Intel C++ Compiler for Windows</B><sup>5></sup></P>\r
170                                 </TD>\r
171                                 <TD>\r
172                                         <P ALIGN=CENTER><B>9.1</B>\r
173                                         </P>\r
174                                 </TD>\r
175                                 <TD>\r
176                                         <P ALIGN=CENTER><A HREF="http://www.intel.com/">http://www.intel.com</A></P>\r
177                                 </TD>\r
178                         </TR>\r
179                         <TR>\r
180                                 <TD>\r
181                                         <P ALIGN=CENTER><B>Intel C Compiler for EFI Byte Code</B></P>\r
182                                 </TD>\r
183                                 <TD>\r
184                                         <P ALIGN=CENTER><B>1.2</B></P>\r
185                                 </TD>\r
186                                 <TD>\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
188                                 </TD>\r
189                         </TR>\r
190                         <TR>\r
191                                 <TD>\r
192                                         <P ALIGN=CENTER><B>Microsoft Windows Driver Development Kit</B><sup>6</sup><B> (DDK)</B></P>\r
193                                 </TD>\r
194                                 <TD>\r
195                                         <P ALIGN=CENTER><B>3790.1830</B></P>\r
196                                 </TD>\r
197                                 <TD>\r
198                                         <P ALIGN=CENTER><A HREF=" http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso">Windows Server 2003 SP1 DDK</A></P>\r
199                                 </TD>\r
200                         </TR>\r
201                         <TR>\r
202                                 <TD>\r
203                                         <P ALIGN=CENTER><B>Microsoft ACPI Source Language Assembler</B></P>\r
204                                 </TD>\r
205                                 <TD>\r
206                                         <P ALIGN=CENTER><B>3.0.0NT or later</B></P>\r
207                                 </TD>\r
208                                 <TD>\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
211                                 </TD>\r
212                         </TR>\r
213                         <TR>\r
214                                 <TD>\r
215                                         <P ALIGN=CENTER><B>Intel ACPI Component Architecture</B></P>\r
216                                 </TD>\r
217                                 <TD>\r
218                                         <P ALIGN=CENTER><B>20060113 or later</B></P>\r
219                                 </TD>\r
220                                 <TD>\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
222                                 </TD>\r
223                         </TR>\r
224       <TR>\r
225       </TR>\r
226                 </TABLE>\r
227     <P>________________________</P>\r
228     <P ALIGN=LEFT>\r
229           <FONT SIZE="2"><sup>1</sup>&nbsp;Instructions for installation of GCC are included in the BaseTools\gcc directory.</FONT><BR>\r
230           <FONT SIZE="2"><sup>2</sup>&nbsp;The default tool chain for the IA32 and X64 builds.</FONT><BR>\r
231           <FONT SIZE="2"><sup>3</sup>&nbsp;Needed for building IPF targets if the DDK is not installed.</FONT><BR>\r
232           <FONT SIZE="2"><sup>4</sup>&nbsp;May only be available through a MSDN subscription. If the DDK is not available, MASM 6.15 can be used for the assembler.</FONT><BR>\r
233           <FONT SIZE="2"><sup>5</sup>&nbsp;The Intel Compiler requires a Microsoft Visual Studio installation.</FONT><BR>\r
234           <FONT SIZE="2"><sup>6</sup>&nbsp;The default tool chain for IPF builds. To download and use the DDK, you must burn the ISO file to a CD or DVD.</FONT>\r
235     </P>\r
236     <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A>&nbsp;<A HREF="#Top">Back to Top</A></P>\r
237 \r
238           <P><BR></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 &quot;Unix&quot; mode. The gcc tool chain will not\r
248                 compile in &quot;DOS&quot; mode.</P>\r
249 \r
250     <P>________________________</P>\r
251     <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A>&nbsp;<A HREF="#Top">Back to Top</A></P>\r
252                 <H2 CLASS="heading-2"><A NAME="EnvVars"></A>Environment Variables</H2>\r
253                 <P>Environment variables are <B>case sensitive</B>. You must use\r
254                 the exact case as in the examples of this document. Even though\r
255                 windows does not care about case, other operating systems that\r
256     are supported do care about case.<BR><BR>You need to set\r
257                 WORKSPACE to the location of the edk2 directory that you pulled\r
258                 from Subversion. For example:</P>\r
259                 <P><FONT STYLE="margin-bottom: 0.2in;" FACE="courier, 'courier new', monospace" color="#771100">set WORKSPACE=c:\workspace\edk2</FONT><P>\r
260                 It is recommended that you wrap up all the environment variables\r
261                 above into a script that you can launch each time you begin to do\r
262                 development in your EDK II workspace.</P>\r
263 \r
264     <P>________________________</P>\r
265     <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A>&nbsp;<A HREF="#Top">Back to Top</A></P>\r
266                 <H2 CLASS="heading-2"><A NAME="FirstBuild"></A>First Build</H2>\r
267                 <P>You will need to edit the text file, tools_def.txt which is created\r
268     the first time you run the edksetup script<sup>7</sup>.  The file is located\r
269                 in the %WORKSPACE%\Conf directory. This file contains the names of the\r
270                 compiler tool chains and the location of the compiler binaries. It\r
271                 has been pre-populated with the standard location for the Microsoft\r
272                 tool chains and includes the standard location of the Intel C\r
273                 Compiler for EFI Byte Code (EBC).</P>\r
274                 <P>Once the external tools are installed and the environment variables\r
275                 are set, you can try a build.\r
276     </P>\r
277                 <OL>\r
278                         <LI><FONT STYLE="margin-bottom: 0in;" FACE="courier, 'courier new', monospace" color='#771100'>cd %WORKSPACE%</FONT>\r
279                         <LI><FONT STYLE="margin-bottom: 0in;" FACE="courier, 'courier new', monospace" color='#771100'>edksetup.bat --nt32</FONT>\r
280       <UL>This will set the PATH to point to the directory containing the \r
281       Win32 binaries of the EDK II tools used in edk2 development. It will\r
282                         fail if the external tools above are not properly installed.<BR>\r
283                         Using the --nt32 switch will run &quot;%VS80COMNTOOLS%\vsvars32&quot; (VS2005) or \r
284       &quot;%VS71COMNTOOLS%\vsvars32&quot; (VS2003.NET) to setup standard C FLAGS, \r
285       Library and Include locations to build the Nt32 emulation environment.<BR>\r
286       <B>Note:</B> If you do not want to build the Nt32 emulation environment, you do not\r
287       need to use the --nt32 switch or run vsvars32.bat.</UL>\r
288       <LI><FONT STYLE="margin-bottom: 0in">Modify Conf/tools_def.txt<sup>8</sup></LI></FONT>\r
289                         <LI><FONT STYLE="margin-bottom: 0in;" FACE="courier, 'courier new', monospace" color='#771100'>cd Nt32Pkg</FONT>\r
290                         <LI><FONT STYLE="margin-bottom: 0in;" FACE="courier, 'courier new', monospace" color='#771100'>build</FONT>\r
291       <P>The default build output directory is: %WORKSPACE%\Build\NT32\DEBUG_MYTOOLS\ </P>\r
292                 </OL>\r
293         </DIV>\r
294   <P>________________________</P>\r
295   <P><FONT SIZE="2"><sup>7</sup>&nbsp;The first time the edksetup script is executed, it\r
296   creates three files in the %WORKSPACE%\Conf directory.  The files tools_def.txt, target.txt and\r
297   build_rule.txt are only created if they do not exist, if they exist, then they are \r
298   not touched.</FONT><BR>\r
299   <FONT SIZE="2"><sup>8</sup>&nbsp;The tools_def.txt file only needs to be modified the\r
300   first time, or if you modify the location of the 3<sup>rd</sup> party tool chains after\r
301   having setup the file.</FONT></P>\r
302   <P><A HREF="#Top"><IMG SRC="top_arrow.jpg" BORDER="0"></A>&nbsp;<A HREF="#Top">Back to Top</A></P>\r
303 </DIV>\r
304 </BODY>\r
305 </HTML>\r