Dear all,
I have been investigating booting my X201 on two axes:
- Coreboot vs stock BIOS
- Intel Management Engine left alone vs neutralised with me_cleaner.
Of the four quadrants created by those two axes, only one quadrant does not work: Coreboot + neutralised ME:
- Stock BIOS: boots fine.
- Stock BIOS, neutralised: doesn't boot boots fine after a delay of <1 minute.
- Coreboot with SeaBIOS payload, based on descriptor & ME regions from stock BIOS: boots fine.
- Coreboot with SeaBIOS payload, based on descriptor & ME regions from neutralised BIOS: **doesn't boot**.
See additional details here, including the output of intelmetool: https://github.com/corna/me_cleaner/issues/24 .
Nicola Corna pointed out to me that adding a timeout at https://github.com/coreboot/coreboot/blob/master/src/northbridge/intel/nehal... might solve this problem.
(I guess the idea is that instead of waiting indefinitely for the ME to load, Coreboot should instead just wait for a defined amount of time and then plough on regardless.)
I am not a C programmer, so am not competent to add that timeout.
Please can anyone here provide a suitable patch for me to test, or failing that, point me to a similar timeout in another architecture's raminit that I might use as a starting point?
Thanks,
Sam