coreboot-kgpe-d16/src/mainboard
Lee Leahy 28c3f23b46 mainboard/intel/galileo: Add vboot support
Add the necessary files and changes to support vboot.

TEST=Build and run on Galileo Gen2 with a SparkFun CryptoShield

1.  Obtain and install a SparkFun CryptoShield.
    https://www.sparkfun.com/products/13183

2.  Edit src/mainboard/intel/galileo/Kconfig to select
    VBOOT_WITH_CRYPTO_SHIELD

3.  Use make menuconfig to update the config values and select a
    payload that will fit.  I used SeaBIOS which does not boot.

4.  Build coreboot

5.  Use the command file below to generate the signed coreboot image.

6.  Flash build/coreboot.rom onto the Galileo board

7.  The test is successful if verstage detects that it needs recovery
    after Phase 1.  This is expected because the image does not contain
    the GBB section.

8.  Flash build/coreboot.signed.bin onto the Galileo board

9.  The test is successful if verstage reaches Phase 4 and selects SLOT
    A to load the rest of the files.

commands:
gbb_utility -c 0x100,0x1000,0x7ce80,0x1000 gbb.blob

dd  conv=fdatasync  ibs=4096  obs=4096  count=1553  \
if=build/coreboot.rom  of=build/coreboot.signed.rom

dd  conv=fdatasync  obs=4096  obs=4096  seek=1553  if=gbb.blob  \
of=build/coreboot.signed.rom

dd  conv=fdatasync  ibs=4096  obs=4096  skip=1680  seek=1680  \
count=368  if=build/coreboot.rom  of=build/coreboot.signed.rom

gbb_utility                       \
--set --hwid='Galileo'            \
-r $PWD/keys/recovery_key.vbpubk  \
-k $PWD/keys/root_key.vbpubk      \
build/coreboot.signed.rom

3rdparty/vboot/scripts/image_signing/sign_firmware.sh  \
build/coreboot.signed.rom                              \
$PWD/keys                                              \
build/coreboot.signed.rom

Change-Id: I02eb0ef647cd34c13a5fe8be0bdbe1bb38524d0c
Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com>
Reviewed-on: https://review.coreboot.org/18821
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2017-03-16 04:10:25 +01:00
..
a-trend src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
aaeon AMD geode: Avoid conflicting main() declaration 2017-03-08 03:19:46 +01:00
abit src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
adi cpu/x86/msr.h: Drop excessive includes 2016-12-06 20:54:31 +01:00
adlink
advansus src/amd: Add common definition of AMD ACPI MMIO address 2017-01-05 21:53:55 +01:00
amd binaryPI boards: Drop any ACPI S3 support 2017-03-08 04:08:00 +01:00
aopen aopen/dxplplusu: Switch to 2MiB flash 2017-01-13 17:47:20 +01:00
apple mb/apple/macbook21: Remove PCI reset code from romstage 2017-03-01 17:04:35 +01:00
artecgroup AMD geode: Avoid conflicting main() declaration 2017-03-08 03:19:46 +01:00
asrock AGESA: Add agesa_helper.h header 2017-03-07 01:12:44 +01:00
asus asus/m2v: Make _CRS methods serialized 2017-03-10 11:07:25 +01:00
avalue src/amd: Add common definition of AMD ACPI MMIO address 2017-01-05 21:53:55 +01:00
azza src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
bachmann AMD geode: Avoid conflicting main() declaration 2017-03-08 03:19:46 +01:00
bap binaryPI boards: Drop any ACPI S3 support 2017-03-08 04:08:00 +01:00
bcom src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
bifferos
biostar AGESA: Add agesa_helper.h header 2017-03-07 01:12:44 +01:00
broadcom amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
compaq src/mainboard/a-trend - emulation: Add space around operators 2016-09-20 19:06:28 +02:00
cubietech Remove non-ascii & unprintable characters 2016-08-01 21:44:45 +02:00
digitallogic AMD geode: Avoid conflicting main() declaration 2017-03-08 03:19:46 +01:00
dmp dmp/vortex86ex: Drop excessive include 2016-06-18 20:00:58 +02:00
ecs mainboard/*/*/irq_tables.c: Use tabs for indents 2016-09-26 13:22:39 +02:00
elmex AGESA: Add agesa_helper.h header 2017-03-07 01:12:44 +01:00
emulation mb/emulation/*-riscv: Don't select ARCH_BOOTBLOCK_RISCV 2017-02-23 21:41:19 +01:00
esd cpu/x86/msr.h: Drop excessive includes 2016-12-06 20:54:31 +01:00
getac mb/getac/p470: Do not select EARLY_CBMEM_INIT 2017-03-03 19:41:49 +01:00
gigabyte nb/intel/x4x: Implement resume from S3 suspend 2017-02-17 23:44:36 +01:00
gizmosphere AGESA: Add agesa_helper.h header 2017-03-07 01:12:44 +01:00
google google/eve: Update MCU GPIOs configuration 2017-03-15 19:54:47 +01:00
hp AGESA: Add agesa_helper.h header 2017-03-07 01:12:44 +01:00
ibase sb/ich7: Use common/gpio.h to set up GPIOs 2017-01-06 18:14:00 +01:00
iei AMD geode: Avoid conflicting main() declaration 2017-03-08 03:19:46 +01:00
intel mainboard/intel/galileo: Add vboot support 2017-03-16 04:10:25 +01:00
iwave cpu/x86/msr.h: Drop excessive includes 2016-12-06 20:54:31 +01:00
iwill amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
jetway AGESA: Add agesa_helper.h header 2017-03-07 01:12:44 +01:00
kontron sb/ich7: Use common/gpio.h to set up GPIOs 2017-01-06 18:14:00 +01:00
lanner mainboard/lanner/em8510: Use tabs for indents 2016-09-29 23:51:19 +02:00
lenovo lenovo/t400/dock.c: Fix issues found by checkpatch.pl 2017-03-11 17:43:17 +01:00
linutop
lippert AMD geode: Avoid conflicting main() declaration 2017-03-08 03:19:46 +01:00
lowrisc mb/lowrisc/nexys4ddr: Read RAM information from the config string 2016-12-06 18:52:42 +01:00
mitac intel/car/cache_as_ram.inc: Prepare for dynamic CONFIG_RAMTOP 2016-06-21 00:39:47 +02:00
msi AGESA: Add agesa_helper.h header 2017-03-07 01:12:44 +01:00
nec intel/car/cache_as_ram.inc: Prepare for dynamic CONFIG_RAMTOP 2016-06-21 00:39:47 +02:00
nokia intel/car/cache_as_ram.inc: Prepare for dynamic CONFIG_RAMTOP 2016-06-21 00:39:47 +02:00
nvidia amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
packardbell intel/nehalem: Use romstage_handoff for S3 2016-12-11 08:59:35 +01:00
pcengines binaryPI boards: Drop any ACPI S3 support 2017-03-08 04:08:00 +01:00
purism purism/librem13: Set system type to laptop 2017-02-22 22:26:56 +01:00
rca mainboard/rca/rm4100: transition away from device_t 2016-11-10 16:55:42 +01:00
roda sb/ich7: Use common/gpio.h to set up GPIOs 2017-01-06 18:14:00 +01:00
samsung cpu/x86/msr.h: Drop excessive includes 2016-12-06 20:54:31 +01:00
siemens siemens/mc_apl1: Clean up the code 2017-03-15 13:53:57 +01:00
soyo intel/car/cache_as_ram.inc: Prepare for dynamic CONFIG_RAMTOP 2016-06-21 00:39:47 +02:00
sunw amdfam10: Perform major include ".c" cleanup 2017-01-04 18:56:01 +01:00
supermicro AGESA f15: Disable IDS tracing by default 2017-03-09 12:46:17 +01:00
technexion amd-based mainboards: Fix whitespace in _PTS comments 2016-12-26 17:39:00 +01:00
thomson mainboard/thomson/ip1000: transition away from device_t 2016-11-10 17:00:59 +01:00
ti beaglebone: Update bootblock.c to use new structs/code 2016-06-21 00:46:42 +02:00
traverse AMD geode: Avoid conflicting main() declaration 2017-03-08 03:19:46 +01:00
tyan AGESA: Add agesa_helper.h header 2017-03-07 01:12:44 +01:00
via mainboard/via/vt8454c: transition away from device_t 2016-11-15 18:19:12 +01:00
winent AMD geode: Avoid conflicting main() declaration 2017-03-08 03:19:46 +01:00
wyse AMD geode: Avoid conflicting main() declaration 2017-03-08 03:19:46 +01:00
Kconfig Kconfig: Remind users to delete .config when switching boards 2017-01-06 21:33:58 +01:00