CSS styles take 3...
[people/mcb30/edk2.git] / www / step-by-step-instructions.html
1 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
2
3 <style type="text/css">
4   <!--
5   .main-title, .main-details {
6     font-size: 11pt;
7   }
8   
9   .main-details {
10     margin-top: 0.19in;
11     margin-bottom: 0.19in
12   }
13   
14   .main-title {
15     font-weight: bold;
16     margin-top: 0in;
17     margin-bottom: 0.08in;
18     border-bottom: thin solid black;
19   }
20   
21   .build-step-title {
22     font-size: 11pt;
23     font-weight: bold;
24     margin-top: 0.19in;
25     margin-bottom: 0.19in
26   }
27   
28   .build-step-details {
29   }
30   
31   .build-step-code {
32     font-family: "courier new", "courier", "monospace";
33     border: 1px dashed;
34     margin-right: 0.25in;
35     padding: 2pt 4pt 2pt 4pt;
36     background-color: #F0F0F0;
37   }
38   
39   .build-step-details, .build-step-code, .build-step-title {
40     margin-left: 0.25in;
41   }
42   
43   table.build-step-details td {
44     border-style: hidden;
45   }
46   -->
47 </style>
48
49 <h2 class="main-title">
50   Step-by-step (walk-throughs) for building with edk2
51 </h2>
52
53 <p class="main-details">
54   <font size="2">
55     This page contains some step-by-step guides in an attempt to give
56     a highly detailed description of how to set up building on an edk2
57     system.&nbsp;
58     A few different operating systems are targeted.&nbsp;
59     It is hoped that these examples can either provide exact steps for
60     setting up an edk2 build environment.&nbsp;
61     If instructions are not available for your exact system configuration,
62     you may still be able to 'tweak' the instructions to work on your
63     system.
64   </font>
65 </p>
66
67 <font size="2">
68   <ul>
69     <li><a href="#MacOSX10.5">Mac OS X 10.5</a> (Leopard)</li>
70     <li><a href="#Ubuntu8.04">Ubuntu 8.04</a></li>
71   </ul>
72 </font>
73
74 <h2 class="main-title">
75   <a name="MacOSX10.5"></a>
76   Mac OS X 10.5
77 </h2>
78
79 <h3 class="build-step-title">
80   Work in progress...
81 </h3>
82
83 <!--
84 <p class="build-step-details">
85   These instructions for OS X 10.5 are currently under construction.&nbsp;
86   Please do not try to use them until this notice is removed!
87 </p>
88 -->
89
90 <h2 class="main-title">
91   <a name="Ubuntu8.04"></a>
92   Ubuntu 8.04
93 </h2>
94
95 <h3 class="build-step-title">
96   Work in progress...
97 </h3>
98
99 <p class="build-step-details">
100   These instructions for Ubuntu 8.04 are currently under construction.&nbsp;
101   Please do not try to use them until this notice is removed!
102 </p>
103
104 <h3 class="build-step-title">
105   Getting started &amp; Instructions for the instructions
106 </h3>
107
108 <p class="build-step-details">
109   These instructions will be written as a series of commands executed from
110   a command terminal.&nbsp;
111   To open the command terminal application, open the "Applications" menu,
112   then open the "Accessories" sub-menu, and then select the "Terminal"
113   application.
114 </p>
115
116 <p class="build-step-details">
117   Often these instructions will contain a command which needs to be
118   executed in the terminal window.&nbsp; For example:
119 </p>
120
121 <pre class="build-step-code">
122 bash:~$ <b>echo this bold text is a sample command</b>
123 </pre>
124
125 <p class="build-step-details">
126   To execute this command, highlight the <b>bold</b> text of the 
127   command in your web browser.&nbsp;
128   After the text is highlighted, you can paste the text into the terminal
129   window with the middle mouse button.&nbsp;
130 </p>
131 <p class="build-step-details">
132   There may be other ways to copy and paste the text into the terminal.&nbsp;
133   For example, you can usually press 'Ctrl-C' within your web browser to copy
134   the text, and within the gnome-terminal program you can then press
135   'Ctrl-<b>Shift</b>-V' to paste the text.&nbsp;
136   After pasting the command into the shell, you may need to press the
137   enter or return key to execute the command.&nbsp;
138   If all else fails, you can type the command by hand.
139 </p>
140
141 <p class="build-step-details">
142   Some commands are very long, and we use the backslash character (\) to
143   tell the shell program that the line is not finished.&nbsp; For example:
144 </p>
145
146 <pre class="build-step-code">
147 bash:~$ <b>echo this bold text is a sample command \
148           which is broken into two lines</b>
149 </pre>
150
151 <p class="build-step-details">
152   When you copy and paste, make sure you include all lines of the command.&nbsp;
153   If you are typing the command, you can remove the backslash character (\)
154   and combine the lines into a single line if you prefer.
155 </p>
156
157 <p class="build-step-details">
158   If a command starts with the 'sudo' command, then you may be prompted for
159   your user password.&nbsp;
160   This will be the same password as you used to login to the system.
161 </p>
162
163 <p class="build-step-details">
164   For the purposes of this set of instructions, we will be using the following
165   paths.&nbsp;
166 </p>
167
168 <table class="build-step-details">
169   <tr>
170     <td>
171       <a href="https://edk2.tianocore.org">Edk2</a> source tree:
172     </td>
173     <td>
174       <b>~/src/edk2</b>
175     </td>
176   </tr>
177   <tr>
178     <td>
179       <a href="https://buildtools.tianocore.org">Buildtools</a> source tree:
180     </td>
181     <td>
182       <b>~/src/buildtools</b>
183     </td>
184   </tr>
185   <tr>
186     <td>
187       gcc x64 cross-compiler installation:
188     </td>
189     <td>
190       <b>~/programs/gcc/x64</b>
191     </td>
192   </tr>
193 </table>
194
195 <p class="build-step-details">
196   You will need to change the commands if you want to use different
197   locations, but this is not recommended unless you are sure that you
198   know what you are doing.
199 </p>
200
201 <h3 class="build-step-title">
202     Install tools from apt
203 </h3>
204
205 <p class="build-step-details">
206   Several ubuntu packages will be needed to fully set up an edk2 build
207   environment.&nbsp;
208   In order to easily install all the requirements, you need to run
209   this command.
210 </p>
211
212 <pre class="build-step-code">
213 bash:~$ <b>sudo apt-get install build-essentials uuid-dev \
214           python-setuptools texinfo bison flex libgmp3-dev \
215           libmpfr-dev</b>
216 </pre>
217
218 <h3 class="build-step-title">
219     Install python antlr module
220 </h3>
221
222 <p class="build-step-details">
223   In order to install the python antlr module, we use the 'easy_install'
224   command.&nbsp;
225   The following command is the latest version right now, but if
226   you encounter difficulties, you may want to confirm the version at
227   <a href="http://www.antlr.org/download/Python">http://www.antlr.org/download/Python</a>.
228 </p>
229
230 <pre class="build-step-code">
231 bash:~$ <b>sudo easy_install \
232   http://www.antlr.org/download/Python/antlr_python_runtime-3.0.1-py2.5.egg</b>
233 </pre>
234