|
1 |
| -# Dasharo Trustworthy Computing |
2 |
| - |
3 |
| -[https://dasharo.com/](https://dasharo.com/) |
4 |
| - |
5 |
| -Talos II support in coreboot |
6 |
| - |
7 |
| -## v0.1.0 |
8 |
| - |
9 |
| -### Changelog |
10 |
| - |
11 |
| -Added: |
12 |
| -* SCOM registers support |
13 |
| -* RAM initialization |
14 |
| -* support for reading from VPD partition |
15 |
| - |
16 |
| -### Statistics |
17 |
| - |
18 |
| -Since bootblock release: \ |
19 |
| -<span style="color:yellow">61</span> files were changed including \ |
20 |
| -<span style="color:lightgreen">12408</span> lines of code were added \ |
21 |
| -<span style="color:orangered">86</span> lines of code were removed |
22 |
| - |
23 |
| -Check the statistics with: |
24 |
| -``` |
25 |
| -git diff --stat 692bd9facd 34f2678e08 |
26 |
| -``` |
27 |
| - |
28 |
| -### Hardware configuration |
29 |
| - |
30 |
| -Configuration with a single IBM POWER9 64bit CPU is supported. \ |
31 |
| -Dual CPU setup not supported currently. |
32 |
| - |
33 |
| -Following RAM configurations were tested and are proved to be properly initialized. |
34 |
| -<pre> |
35 |
| -MCS0, MCA0 |
36 |
| - DIMM0: <a href=https://www.samsung.com/semiconductor/dram/module/M393A2K40CB2-CTD>1Rx4 16GB PC4-2666V-RC2-12-PA0</a> |
37 |
| - DIMM1: not installed |
38 |
| -MCS0, MCA1 |
39 |
| - DIMM0: <a href=https://www.crucial.com/memory/server-ddr4/mta9asf1g72pz-2g6j1>1Rx8 8GB PC4-2666V-RD1-12</a> |
40 |
| - DIMM1: not installed |
41 |
| -MCS1, MCA0 |
42 |
| - DIMM0: <a href=https://www.samsung.com/semiconductor/dram/module/M393A4K40CB2-CTD/>2Rx4 32GB PC4-2666V-RB2-12-MA0</a> |
43 |
| - DIMM1: not installed |
44 |
| -MCS1, MCA1 |
45 |
| - DIMM0: <a href=https://mis-prod-koce-homepage-cdn-01-blob-ep.azureedge.net/web/static_file/12701730956286135.pdf>2Rx8 16GB PC4-2666V-RE2-12</a> |
46 |
| - DIMM1: not installed |
47 |
| -</pre> |
48 |
| - |
49 |
| -All 3 major DRAM vendors are supported, namely Samsung, Micron and Hynix. |
50 |
| - |
51 |
| -### Release binaries |
52 |
| -* [dasharo-trustworthy-computing-v0.1.0.rom](https://cloud.3mdeb.com/index.php/s/4Aa9Et3eL44yzsn) |
53 |
| -* [dasharo-trustworthy-computing-v0.1.0.rom.SHA256](https://cloud.3mdeb.com/index.php/s/xBrXpbqPWpJXydw) |
54 |
| -* [dasharo-trustworthy-computing-v0.1.0.rom.SHA256.sig](https://cloud.3mdeb.com/index.php/s/Kq9GbWwZegWQdpb) |
55 |
| -* [dasharo-trustworthy-computing-v0.1.0.rom.signed.ecc](https://cloud.3mdeb.com/index.php/s/7F9zxPcRnaBkRiD) |
56 |
| -* [dasharo-trustworthy-computing-v0.1.0.rom.signed.ecc.SHA256](https://cloud.3mdeb.com/index.php/s/4arNninMLdYZwxt) |
57 |
| -* [dasharo-trustworthy-computing-v0.1.0.rom.signed.ecc.SHA256.sig](https://cloud.3mdeb.com/index.php/s/QX5CcteHppoNynT) |
58 |
| - |
59 |
| -See how to verify signatures on |
60 |
| -[](https://asciinema.org/a/XTwZHG3RMWe0Mm2VrV7VPloYB) |
61 |
| - |
62 |
| -### How to build and use it |
63 |
| - |
64 |
| -#### Environment preparation |
65 |
| - |
66 |
| -In order to build coreboot, we use docker container. So in order to setup |
67 |
| -environment, ensure that: |
68 |
| - |
69 |
| -1. You have docker installed as described on [docker site](https://docs.docker.com/engine/install/) |
70 |
| - for your Linux distro. |
71 |
| -2. When you have the docker installed pull the container: |
72 |
| - |
73 |
| - ``` |
74 |
| - docker pull coreboot/coreboot-sdk:65718760fa |
75 |
| - ``` |
76 |
| - |
77 |
| -In order to start from a common point, flash the original OpenPOWER firmware |
78 |
| -for Talos II. |
79 |
| - |
80 |
| -1. Log into the BMC via SSH: |
81 |
| - |
82 |
| - ``` |
83 |
| - ssh root@<BMC_IP> |
84 |
| - ``` |
85 |
| - |
86 |
| -2. Download the stock firmware image: |
87 |
| - |
88 |
| - ``` |
89 |
| - wget https://cloud.3mdeb.com/index.php/s/canxPx5d4X8c2wk/download -O /tmp/flash.pnor |
90 |
| - ``` |
91 |
| - |
92 |
| -3. Flash the firmware: |
93 |
| - |
94 |
| - ``` |
95 |
| - pflash -E -p /tmp/flash.pnor |
96 |
| - ``` |
97 |
| - |
98 |
| - > You will see warning like `About to erase chip !` and |
99 |
| - > `WARNING ! This will modify your HOST flash chip content !`. When the |
100 |
| - > `Enter "yes" to confirm:` prompt appears, type `yes` and press enter. |
101 |
| -
|
102 |
| - At the end of the process (it may take several minutes) you should have |
103 |
| - something like this: |
104 |
| - |
105 |
| - ``` |
106 |
| - About to program "/tmp/flash.pnor" at 0x00000000..0x04000000 ! |
107 |
| - Programming & Verifying... |
108 |
| - [==================================================] 100% ETA:0s |
109 |
| - ``` |
110 |
| - |
111 |
| -4. * Log into the BMC GUI at https://<BMC_IP>/. \ |
112 |
| - Make sure to use `https`. |
113 |
| - * Enter the Server power operations |
114 |
| - `https://<BMC_IP>/#/server-control/power-operations` and invoke |
115 |
| - warm reboot. |
116 |
| - * Then move to Serial over LAN remote console |
117 |
| - `https://<BMC_IP>/#/server-control/remote-console` to observe |
118 |
| - whether the platform is booting. |
119 |
| - |
120 |
| -#### Buidling coreboot image |
121 |
| - |
122 |
| -In order to build coreboot image, follow the steps below: |
123 |
| - |
124 |
| -1. Clone the coreboot repository: |
125 |
| - |
126 |
| - ``` |
127 |
| - git clone [email protected]:3mdeb/coreboot.git -b dasharo-trustworthy-computing-v0.1.0 |
128 |
| - # or HTTPS alternatively |
129 |
| - git clone https://github.com/3mdeb/coreboot.git -b dasharo-trustworthy-computing-v0.1.0 |
130 |
| - ``` |
131 |
| - `talos_2_support` is the main development branch for Talos II support. |
132 |
| - |
133 |
| -2. Get the submodules: |
134 |
| - |
135 |
| - ``` |
136 |
| - cd coreboot |
137 |
| - git submodule update --init --checkout |
138 |
| - ``` |
139 |
| - |
140 |
| -3. Start docker container (assuming you are already in coreboot root |
141 |
| - directory): |
142 |
| - |
143 |
| - ``` |
144 |
| - docker run --rm -it -v $PWD:/home/coreboot/coreboot -w /home/coreboot/coreboot coreboot/coreboot-sdk:65718760fa /bin/bash |
145 |
| - ``` |
146 |
| - |
147 |
| -4. When inside of the container, configure the build for Talos II: |
148 |
| - |
149 |
| - ``` |
150 |
| - make menuconfig |
151 |
| - ``` |
152 |
| - |
153 |
| - * Navigate to the **Mainboard** submenu. |
154 |
| - * As a **Mainboard vendor** select `Raptor Computing Systems` |
155 |
| - * If it wasn't selected autmatically, as **Mainboard model** select `Talos II` |
156 |
| - * In the **ROM chip size** option select `512 KB` |
157 |
| - * Save the configuration and exit. |
158 |
| - |
159 |
| -  |
160 |
| - |
161 |
| -5. Start the build process of coreboot inside the container: |
162 |
| - |
163 |
| - ``` |
164 |
| - make |
165 |
| - ``` |
166 |
| - |
167 |
| -#### Running the coreboot on Talos II |
168 |
| - |
169 |
| -1. At the end of build process you should see `Built raptor-cs/talos-2 (Talos II)`. |
170 |
| - Copy the result binary from `<coreboot_dir>/build/coreboot.rom.signed.ecc` to the BMC |
171 |
| - (assuming in the coreboot root directory): |
172 |
| - |
173 |
| - ``` |
174 |
| - scp build/coreboot.rom.signed.ecc root@<BMC_IP>:/tmp |
175 |
| - ``` |
176 |
| - |
177 |
| -2. Backup the HBB partition (for faster later recovery) by invoking this |
178 |
| - command on BMC: |
179 |
| - |
180 |
| - ``` |
181 |
| - pflash -P HBB -r /tmp/hbb.bin |
182 |
| - ``` |
183 |
| - |
184 |
| -3. Flash the binary by replacing HBB partition (execute from BMC): |
185 |
| - |
186 |
| - ``` |
187 |
| - pflash -e -P HBB -p /tmp/coreboot.signed.ecc |
188 |
| - ``` |
189 |
| - |
190 |
| - Answer yes to the prompt and wait for the process to finish. |
191 |
| - |
192 |
| -4. Log into the BMC GUI again at https://<BMC_IP>/. Enter the Server power |
193 |
| - operations (https://<BMC_IP>/#/server-control/power-operations) and invoke |
194 |
| - warm reboot. Then move to Serial over LAN remote console |
195 |
| - (https://<BMC_IP>/#/server-control/remote-console) |
196 |
| - |
197 |
| - Wait for a while until coreboot shows up: |
198 |
| - |
199 |
| - [](https://asciinema.org/a/hbeSMdHqHxJiYKxZCdRq3AIGa) |
200 |
| - |
201 |
| -5. Enjoy the coreboot running on Talos II. |
202 |
| - |
203 |
| -> **Optional:** In order to recovery the platform quickly to healthy state, flash |
204 |
| -> the HBB partition back with: \ |
205 |
| -> `pflash -e -P HBB -p /tmp/hbb.bin` |
206 |
| -
|
207 |
| -### Coming soon |
208 |
| -1. Building a HDAT structure |
209 |
| -2. Booting skiboot as a payload |
| 1 | +# This document is a table of content for release documents |
| 2 | +* [0.2.0 ramstage](releases/0.2.0.ramstage.md) |
| 3 | +* [0.1.0 romstage](releases/0.1.0.romstage.md) |
0 commit comments