Hi all,
I'm trying to install coreboot on an ageing Lenovo X220 (4287-CTO) to help advance the fwupd plugin support. I'm the fwupd and LVFS maintainer so having an actual coreboot machine running Fedora would be a very useful thing indeed.
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. 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
This is with 4+4GB of PC3 RAM, more details available on request. Using CONFIG_USE_NATIVE_RAMINIT not set I get the slightly more helpful:
FMAP: area COREBOOT found @ 710200 (982528 bytes) CBFS: Locating 'mrc.bin' CBFS: Found @ offset 8fdc0 size 2fc94 System Agent: Starting up... System Agent: Initializing PCH System Agent: Initializing PCH (SMBUS) System Agent: Initializing PCH (USB) System Agent: Initializing PCH (SA Init) SA PciExpress skipped (pcie_init is 0) System Agent: Initializing PCH (Me UMA) System Agent: Initializing Memory System Agent: failed to locate restore data hob! System Agent: Done.
...and then the system just hangs. If anyone has a working .config for the X220 (although if it's using an old version of coreboot, the git tag you used would be very useful). If anyone knows what those messages mean, I'm also very grateful. Thanks!
Richard.
Hi,
On 2020-02-20 17:33, Richard Hughes wrote:
Hi all,
I'm trying to install coreboot on an ageing Lenovo X220 (4287-CTO) to help advance the fwupd plugin support. I'm the fwupd and LVFS maintainer so having an actual coreboot machine running Fedora would be a very useful thing indeed.
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. 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
This is with 4+4GB of PC3 RAM, more details available on request. Using CONFIG_USE_NATIVE_RAMINIT not set I get the slightly more helpful:
have you tried booting with only one RAM stick? If they're not identical, coreboot tends to hang and not boot at all in my experience.
Cheers Christoph
FMAP: area COREBOOT found @ 710200 (982528 bytes) CBFS: Locating 'mrc.bin' CBFS: Found @ offset 8fdc0 size 2fc94 System Agent: Starting up... System Agent: Initializing PCH System Agent: Initializing PCH (SMBUS) System Agent: Initializing PCH (USB) System Agent: Initializing PCH (SA Init) SA PciExpress skipped (pcie_init is 0) System Agent: Initializing PCH (Me UMA) System Agent: Initializing Memory System Agent: failed to locate restore data hob! System Agent: Done.
...and then the system just hangs. If anyone has a working .config for the X220 (although if it's using an old version of coreboot, the git tag you used would be very useful). If anyone knows what those messages mean, I'm also very grateful. Thanks!
Richard. _______________________________________________ coreboot mailing list -- coreboot@coreboot.org To unsubscribe send an email to coreboot-leave@coreboot.org
On Thu, 20 Feb 2020 at 16:56, Christoph Zechner christophz@vrvis.at wrote:
Using CONFIG_USE_NATIVE_RAMINIT not set I get the slightly more helpful:
have you tried booting with only one RAM stick? If they're not identical, coreboot tends to hang and not boot at all in my experience.
They're indeed not identical; I'll try later, thanks. Should I be using CONFIG_USE_NATIVE_RAMINIT on the X220 or not?
Richard
On 2020-02-20 18:00, Richard Hughes wrote:
On Thu, 20 Feb 2020 at 16:56, Christoph Zechner christophz@vrvis.at wrote:
Using CONFIG_USE_NATIVE_RAMINIT not set I get the slightly more helpful:
have you tried booting with only one RAM stick? If they're not identical, coreboot tends to hang and not boot at all in my experience.
They're indeed not identical; I'll try later, thanks. Should I be using CONFIG_USE_NATIVE_RAMINIT on the X220 or not?
On my two x220s with working coreboot, I have "CONFIG_USE_NATIVE_RAMINIT=y" in my config, so yes. :-)
In my experience (and it is mentioned somewhere in the wiki as well, I think) coreboot also tends to misbehave when the RAM is slightly badly seated.
Cheers Christoph
Richard
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
On Thu, 20 Feb 2020 at 17:30, Nico Huber nico.h@gmx.de wrote:
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:
Thank you both for your help; after a bit of head scratching Patrick Rudolph worked out it was a SMBUS failure due to having a wireless broadband modem installed. This patch fixes things for me: https://review.coreboot.org/c/coreboot/+/39043
Richard.