Hi Richard,
On 20.02.20 17:33, Richard Hughes wrote:
I've tried many different .configs, and most of the data in the wiki and various blog posts is very old (multiple years) and as yet I haven't manage to build anything that boots, or even turns on the display for that matter.
there is little documentation but also little to do. This defconfig should work:
CONFIG_USE_BLOBS=y CONFIG_VENDOR_LENOVO=y CONFIG_BOARD_LENOVO_X220=y
As mentioned already, the native raminit can be picky (it never failed me on a T420, though). So with the blobed raminit, it should be most stable:
# CONFIG_USE_NATIVE_RAMINIT is not set
Most common trouble comes from the flashing procedure, because the flash chip is shared by multiple firmware components. It's best to have the whole system in a known good state. Then, only flash the BIOS region with coreboot (add `--ifd -i bios` to the flashrom command).
If all that doesn't help, the SPI flash console is much more useful than spkrmodem (if one has an external flasher):
CONFIG_CONSOLE_SPI_FLASH=y
After running coreboot and dumping the flashchip, you can extract the console with
$ cbfstool coreboot-dump.rom read -r CONSOLE -f console.txt
(not 100% ASCII).
Using spkmodem I am able to get some debugging output. Using CONFIG_USE_NATIVE_RAMINIT I get (ending in):
SPD probe channel1, slot0 Not a DDR3 SPD! No valid XMP profile found. Not a DDR3 SPD! SPD probe channel1, slot1JNot a DDR3 SPD! No valid XMP profile found. Not a DDR3 SPD! No DIMMs were found
I suppose spkmodem might be rather slow? This means coreboot failed to read the DIMM's SPDs over the SMBus. This is actually very reliable... but! There is a watchdog in the chipset that might kill the SMBus if it times out. Long story short, if it takes longer than 4s to get there, all bets are off.
Nico