doc/mb/ocp/deltalake: add section on how to work on coreboot

Update Delta Lake documentation to add some clarification.

Add a section on how to work on coreboot for the Delta Lake server.

Change-Id: Id756ee0a09cdcd1200752a03e980441db1537ad1
Signed-off-by: Jonzhang Zhang <jonzhang@meta.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69169
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Jonathan Zhang 2022-11-02 14:48:04 -07:00 committed by Martin L Roth
parent 36b6b055bd
commit cfad59a516
1 changed files with 28 additions and 11 deletions

View File

@ -26,12 +26,12 @@ host up to 4 Delta Lake servers (blades) in one sled.
The Yosemite-V3 system is in mass production. Meta, Intel and partners The Yosemite-V3 system is in mass production. Meta, Intel and partners
jointly develop Open System Firmware (OSF) solution on Delta Lake as an alternative jointly develop Open System Firmware (OSF) solution on Delta Lake as an alternative
solution. The OSF solution is based on FSP/coreboot/LinuxBoot stack. The solution. The OSF solution reached production quality for some use cases
OSF solution reached production quality for some use cases in July, 2021. in July, 2021.
## How to build ## How to build
OSF code base is public at OSF code base is publicly available at
https://github.com/opencomputeproject/OpenSystemFirmware https://github.com/opencomputeproject/OpenSystemFirmware
Run following commands to build Delta Lake OSF image from scratch: Run following commands to build Delta Lake OSF image from scratch:
@ -42,19 +42,21 @@ The Delta Lake OSF code base leverages [osf-builder] to sync down coreboot,
Linux kernel and u-root code from their upstream repo, and sync down needed Linux kernel and u-root code from their upstream repo, and sync down needed
binary blobs. [osf-builder] also provides the top level build system. binary blobs. [osf-builder] also provides the top level build system.
Delta Lake server OSF solution requires following binary blobs: Besides coreboot, the Delta Lake OSF solution includes following components:
- FSP blob: The blob (Intel Cooper Lake Scalable Processor Firmware Support Package) - FSP blob: The blobs (Intel Cooper Lake Scalable Processor Firmware Support Package)
can be downloaded from https://github.com/intel/FSP/tree/master/CedarIslandFspBinPkg. is downloaded from https://github.com/intel/FSP/tree/master/CedarIslandFspBinPkg.
- Microcode: Available through github.com/intel/Intel-Linux-Processor-Microcode-Data-Files. - Microcode: downloaded from github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.
coreboot.org mirrors this repo and by default the correct binary is included. - ME ignition binary: downloaded from
- ME binary: Ignition binary can be downloaded from
https://github.com/tianocore/edk2-non-osi/tree/master/Silicon/Intel/PurleySiliconBinPkg/MeFirmware https://github.com/tianocore/edk2-non-osi/tree/master/Silicon/Intel/PurleySiliconBinPkg/MeFirmware
- ACM binaries: only required for CBnT enablement. Available under NDA with Intel. - ACM binaries: only required for CBnT enablement. Available under NDA with Intel.
- Payload: LinuxBoot is necessary when LinuxBoot is used as the coreboot payload. - Payload: LinuxBoot is necessary when LinuxBoot is used as the coreboot payload.
U-root as initramfs, is used in the joint development. It can be built U-root as initramfs, is used in the joint development. It is built
following [All about u-root]. following [All about u-root].
## Flashing coreboot The Delta Lake OSF solution is updated periodically to newer versions of
upstream coreboot code base and other components.
## How to verify Delta Lake OSF image
To do in-band FW image update, use [flashrom]: To do in-band FW image update, use [flashrom]:
flashrom -p internal:ich_spi_mode=hwseq -c "Opaque flash chip" --ifd \ flashrom -p internal:ich_spi_mode=hwseq -c "Opaque flash chip" --ifd \
@ -70,6 +72,21 @@ To power off/on the host:
To connect to console through SOL (Serial Over Lan): To connect to console through SOL (Serial Over Lan):
sol-util slotx sol-util slotx
## How to work on coreboot for Delta Lake
After the OSF image for Delta Lake is built and verified, under
OpenSystemFirmware/Wiwynn/deltalake directory:
cd src/osf-builder/projects/craterlake/coreboot
Run "git remote -v" to confirm the origin is from coreboot upstream repo.
Run "git branch -v" to know the confirmed working coreboot commit ID for the
Delta Lake OSF solution.
Fetch down the tip of coreboot upstream repo, run "make" to build a new OSF
image for Delta Lake, verify that it works.
Now you are in a familiar coreboot environment, happy coding!
## Firmware configurations ## Firmware configurations
[ChromeOS VPD] is used to store most of the firmware configurations. [ChromeOS VPD] is used to store most of the firmware configurations.
RO_VPD region holds default values, while RW_VPD region holds customized RO_VPD region holds default values, while RW_VPD region holds customized