diff options
Diffstat (limited to 'Documentation/mainboard')
-rw-r--r-- | Documentation/mainboard/index.md | 1 | ||||
-rw-r--r-- | Documentation/mainboard/supermicro/flashing_on_vendorbmc.md | 32 |
2 files changed, 33 insertions, 0 deletions
diff --git a/Documentation/mainboard/index.md b/Documentation/mainboard/index.md index 038689d192..3e6a985858 100644 --- a/Documentation/mainboard/index.md +++ b/Documentation/mainboard/index.md @@ -126,6 +126,7 @@ The boards in this section are not real mainboards, but emulators. - [X10SLM+-F](supermicro/x10slm-f.md) - [X11 LGA1151 series](supermicro/x11-lga1151-series/x11-lga1151-series.md) +- [Flashing using the BMC](supermicro/flashing_on_vendorbmc.md) ## UP diff --git a/Documentation/mainboard/supermicro/flashing_on_vendorbmc.md b/Documentation/mainboard/supermicro/flashing_on_vendorbmc.md new file mode 100644 index 0000000000..e02c57bcc4 --- /dev/null +++ b/Documentation/mainboard/supermicro/flashing_on_vendorbmc.md @@ -0,0 +1,32 @@ +# Flashing coreboot using SMC IPMI (BMC) firmware + +## Metadata +In order to flash anything to the "BIOS" IC, it needs to contain a valid +BIOSINFO struct. + +The BIOSINFO struct contains a `$FID` marker at the beginning and is +128 bytes in total. Besides the *BoardID* it contains the *firmware version* +and *build date*. The BMC verifies that the BoardID is correct and refuses to +flash if it's not. + +The struct has no checksum or cryptographic protection. + +## The smcinfobios tool + +The smcbiosinfo tool can be found in `util/supermicro/smcbiosinfo`. + +It parses the `build/build.h` header to get the current coreboot version and +build timestamp. +The *board ID* is passed as command line argument. + +It will place a file in CBFS called `smcbiosinfo.bin`, which is then found +by the vendor tools. The file contains the struct described above. + +## Flashing using SMCIPMItool + +You can use the *SMCIPMITool* to remotely flash the BIOS: + +`SMCIPMITool <remote BMC IP> <user> <password> bios update build/coreboot.rom` + +Make sure that the ME isn't in recovery mode, otherwise you get an error +message on updating the BIOS. |