Skip to content

Commit 1626da1

Browse files
authored
Merge pull request #20 from 3mdeb/introduction_update
Update project introduction
2 parents 1f0ad60 + c016fc4 commit 1626da1

File tree

2 files changed

+69
-31
lines changed

2 files changed

+69
-31
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ project has been initiated and is sponsored by Insurgo Technologies Libres/Open
1010
Technologies. The development process is open and anyone can join. See
1111
[How to help and contribute](#how-to-help-and-contribute) section.
1212

13+
To start working on the project, see the [project introduction](devnotes/documentation.md).
14+
1315
## Repository overview
1416

1517
* [devnotes](devnotes/) - various developer notes created during the porting

devnotes/documentation.md

Lines changed: 67 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,25 @@ environment, ensure that:
2222
In order to start from a common point, flash the original OpenPOWER firmware
2323
for Talos II.
2424

25-
1. Log into the BMC via SSH:
25+
1. Checkout Talos II in [snipeit](http://snipeit) to avoid conflicts when
26+
someone else is also working with the device.\
27+
**Note:** `snipeit` is an internal tool avilable only from 3mdeb's LAN
28+
network or via VPN connection.
29+
30+
2. Log into the BMC via SSH:
2631

2732
```
28-
ssh root@<IP>
33+
ssh root@<BMC_IP>
2934
```
35+
Ask the administrator for IP address and password to the Talos II BMC.
3036

31-
> The password is `wfv978h4JSG`
32-
33-
2. Download the stock firmware image:
37+
3. Download the stock firmware image:
3438

3539
```
36-
wget https://cloud.3mdeb.com/index.php/s/canxPx5d4X8c2wk/download \
37-
-O /tmp/flash.pnor
40+
wget https://cloud.3mdeb.com/index.php/s/canxPx5d4X8c2wk/download -O /tmp/flash.pnor
3841
```
3942

40-
3. Flash the firmware:
43+
4. Flash the firmware:
4144

4245
```
4346
pflash -E -p /tmp/flash.pnor
@@ -53,14 +56,17 @@ for Talos II.
5356
```
5457
About to program "/tmp/flash.pnor" at 0x00000000..0x04000000 !
5558
Programming & Verifying...
56-
[==================================================] 100% ETA:0s
59+
[==================================================] 100% ETA:0s
5760
```
5861

59-
4. Log into the BMC GUI at https://<IP>/. Enter the Server power operations
60-
(https://<IP>/#/server-control/power-operations) and invoke warm reboot.
61-
Then move to Serial over LAN remote console
62-
(https://<IP>/#/server-control/remote-console) to observe whether the
63-
platform is booting. It should boot up to Debian.
62+
5. * Log into the BMC GUI at https://\<BMC_IP\>/.\
63+
Make sure to use `https`.
64+
* Enter the Server power operations
65+
`https://\<BMC_IP\>/#/server-control/power-operations` and invoke
66+
warm reboot.
67+
* Then move to Serial over LAN remote console
68+
`https://\<BMC_IP\>/#/server-control/remote-console` to observe
69+
whether the platform is booting.
6470

6571
---
6672

@@ -71,10 +77,13 @@ In order to build coreboot image, follow the steps below:
7177
1. Clone the coreboot repository:
7278

7379
```
74-
git clone [email protected]:InsurgoTech/coreboot.git -b power_bootblock
80+
git clone [email protected]:3mdeb/coreboot.git -b talos_2_support
7581
# or HTTPS alternatively
76-
git clone https://github.com/InsurgoTech/coreboot.git -b power_bootblock
82+
git clone https://github.com/3mdeb/coreboot.git -b talos_2_support
7783
```
84+
`talos_2_support` is the main development branch for Talos II support,
85+
but keep in mind, if you are working on some specific features,
86+
different branch may be the better choice.
7887

7988
2. Get the submodules:
8089

@@ -87,8 +96,7 @@ In order to build coreboot image, follow the steps below:
8796
directory):
8897

8998
```
90-
docker run --rm -it -v $PWD:/home/coreboot/coreboot \
91-
-w /home/coreboot/coreboot coreboot/coreboot-sdk:65718760fa /bin/bash
99+
docker run --rm -it -v $PWD:/home/coreboot/coreboot -w /home/coreboot/coreboot coreboot/coreboot-sdk:65718760fa /bin/bash
92100
```
93101

94102
4. When inside of the container, configure the build for Talos II:
@@ -97,11 +105,14 @@ In order to build coreboot image, follow the steps below:
97105
make menuconfig
98106
```
99107

100-
Navigate to the Mainboard submenu and select the:
101-
`Raptor Computign Systems -> Talos II`. Then save the configuration and
102-
exit.
108+
* Navigate to the **Mainboard** submenu.
109+
* As a **Mainboard vendor** select `Raptor Computing Systems`
110+
* If it wasn't selected autmatically, as **Mainboard model** select `Talos II`
111+
* In the **ROM chip size** option select `512 KB`
112+
* As **Size of CBFS filesystem in ROM** set `0x80000` (Only if this option is present)
113+
* Save the configuration and exit.
103114

104-
.center[.image-90[![](images/cb_menuconfig.png)]]
115+
![](../images/cb_menuconfig.png)
105116

106117
5. Start the build process of coreboot inside the container:
107118

@@ -118,8 +129,9 @@ In order to build coreboot image, follow the steps below:
118129
(assuming in the coreboot root directory):
119130

120131
```
121-
scp build/coreboot.rom root@<IP>:/tmp
132+
scp build/coreboot.rom.signed.ecc root@<BMC_IP>:/tmp
122133
```
134+
> If that file is not present, use `coreboot.rom` instead
123135
124136
2. Backup the HBB partition (for faster later recovery) by invoking this
125137
command on BMC:
@@ -131,22 +143,46 @@ In order to build coreboot image, follow the steps below:
131143
3. Flash the binary by replacing HBB partition (execute from BMC):
132144

133145
```
134-
pflash -e -P HBB -p /tmp/coreboot.rom
146+
pflash -e -P HBB -p /tmp/coreboot.signed.ecc
135147
```
148+
> Again, if that file is not present, use `coreboot.rom` instead
136149
137150
Answer yes to the prompt and wait for the process to finish.
138151

139-
4. Log into the BMC GUI again at https://<IP>/. Enter the Server power
140-
operations (https://<IP>/#/server-control/power-operations) and invoke warm
152+
4. Log into the BMC GUI again at https://\<BMC_IP\>/. Enter the Server power
153+
operations (https://\<BMC_IP\>/#/server-control/power-operations) and invoke warm
141154
reboot. Then move to Serial over LAN remote console
142-
(https://<IP>/#/server-control/remote-console)
155+
(https://\<BMC_IP\>/#/server-control/remote-console)
143156

144157
Wait for a while until coreboot shows up:
145158

146-
.center[.image-90[![](images/cb_bootblock.png)]]
159+
![](../images/cb_bootblock.png)
147160

148-
5. Enjoy coreboot bootblock running on Talos II.
161+
5. Enjoy the coreboot running on Talos II.
149162

150-
> OPTIONAL: in order to recovery the platform quickly to healthy state, flash
151-
> the HBB partition back with:
163+
> **Optional:** In order to recovery the platform quickly to healthy state, flash
164+
> the HBB partition back with:\
152165
> `pflash -e -P HBB -p /tmp/hbb.bin`
166+
167+
## Running the coreboot on QEMU
168+
169+
Please keep in mind, that QEMU doesn't implement many of the HW properties,
170+
that Talos II has. There may be many compatibility issues, or registers missing.
171+
172+
More detailed informations can be found in [porting.md#qemu](porting.md#qemu)
173+
174+
1. Clone the QEMU repository
175+
```
176+
git clone [email protected]:qemu/qemu.git
177+
# or HTTPS alternatively
178+
git clone https://github.com/qemu/qemu.git
179+
```
180+
2. Build the QEMU ppc64 version
181+
```
182+
cd qemu
183+
./configure --target-list=ppc64-softmmu && make
184+
```
185+
3. Start QEMU with coreboot image
186+
````
187+
./qemu/build/qemu-system-ppc64 -M powernv,hb-mode=on --cpu power9 --bios 'coreboot/build/coreboot.rom' -d unimp,guest_errors -serial stdio -drive file=flash.pnor,format=raw,readonly=on,if=mtd
188+
````

0 commit comments

Comments
 (0)