blob: b41a8de289f2386dc2b83287c0d90bf1bbb2363b [file] [log] [blame]
Lee Leahyc1e4f892016-01-07 11:24:24 -08001<!DOCTYPE html>
2<html>
3 <head>
4 <title>Development</title>
5 </head>
6 <body>
7
8<h1>Intel&reg; x86 Coreboot/FSP Development Process</h1>
9<p>
10 The x86 development process for coreboot is broken into the following components:
11</p>
12<ul>
13 <li>Coreboot <a target="_blank" href="SoC/soc.html">SoC</a> development</li>
14 <li>Coreboot <a target="_blank" href="Board/board.html">mainboard</a> development</li>
15 <li><a target="_blank" href="fsp1_1.html">FSP 1.1</a> integration</li>
16</ul>
17<p>
18 The development process has two main phases:
19</p>
20<ol>
21 <li>Minimal coreboot; This phase is single threaded</li>
22 <li>Adding coreboot features</li>
23</ol>
24
25<h2>Minimal Coreboot</h2>
26<p>
27 The combined steps below describe how to bring up a minimal coreboot for a
28 system-on-a-chip (SoC) and a development board:
29</p>
30<table>
31 <tr bgcolor="#ffffc0">
32 <td>The initial coreboot steps are single threaded!
33 The initial minimal FSP development is also single threaded.
34 Progress can speed up by adding more developers after the minimal coreboot/FSP
35 implementation reaches the payload.
36 </td>
37 </tr>
38</table>
39<ol>
40 <li>Get the necessary tools:
41 <ul>
42 <li>Linux: Use your package manager to install m4 bison flex and the libcurses development
43 package.
44 <ul>
45 <li>Ubuntu or other Linux distribution that use apt, run:
46<pre><code>sudo apt-get install m4 bison flex libncurses5-dev
47</code></pre>
48 </li>
49 </ul>
50 </li>
51 </ul>
52 </li>
53 <li>Build the cross tools for i386:
54 <ul>
55 <li>Linux:
56<pre><code>make crossgcc-i386</code></pre>
57 To use multiple processors for the toolchain build (which takes a long time), use:
58<pre><code>make crossgcc-i386 CPUS=N</code></pre>
59 where N is the number of cores to use for the build.
60 </li>
61 </ul>
62 </li>
63 <li>Get something to build:
64 <ol type="A">
65 <li><a target="_blank" href="fsp1_1.html#RequiredFiles">FSP 1.1</a> required files</li>
66 <li><a target="_blank" href="SoC/soc.html#RequiredFiles">SoC</a> required files</li>
67 <li><a target="_blank" href="Board/board.html#RequiredFiles">Board</a> required files</li>
68 </ol>
69 </li>
70 <li>Get result to start <a target="_blank" href="SoC/soc.html#Descriptor">booting</a></li>
71 <li><a target="_blank" href="SoC/soc.html#EarlyDebug">Early Debug</a></li>
Lee Leahy380e1672016-01-31 10:49:35 -080072 <li>Implement and debug the <a target="_blank" href="SoC/soc.html#Bootblock">bootblock</a> code</li>
Lee Leahyc1e4f892016-01-07 11:24:24 -080073</ol>
74
75
76<hr>
77<p>Modified: 31 January 2016</p>
78 </body>
79</html>