I have finally figured it out, I think.
I have successfully compiled a coreboot ROM file for M700/M900.
This one is working reasonably well.
Boot is FAST, really FAST as coreboot can do.
Compiled with support for Skylake/Kabylake/Coffelake (not tested since I do not own one).
Tested with Kaby Lake 7400t cpu, 100% working, temps perfect, everything OK, maybe some minor audio quirks (noisy/cracking analog sound sometimes, do not know why).
ASPM L1 disabled to make wifi/sff slot work.
**** VERY IMPORTANT ****
ME status was the reason why this thing was booting SLOWLY before.
I was DISABLING it with ME_DISABLE and the mainboard, being OEM SHIT, locks up/freezes.
ME MUST NOT BE DISABLED AT ALL TIMES and must be in "OK" state.
So the correct "bulletproof" procedure to flash this ROM, in my experiments was:
- UPDATE THE MACHINE TO THE LATEST BIOS FROM LENOVO :
- MAKE SURE THE MACHINE WORKS PROPERLY after the update: boot to windows, then shut down system.
- REMOVE COIN SIZED BATTERY BEFORE FLASHING
- INSTALL CPU (Skylake/Kabylake/Coffeelake)
- CONNECT PROGRAMMER (Neoprogrammer 2.2.0.10 works best with my CH341, but you can of course use ....whatever, a pi3 or anything else you are comfortable with)
- MAKE A FULL BACKUP OF THE BIOS i.e. READ THE CHIP (EXTREMELY IMPORTANT DO NOT SKIP THIS)
- PROGRAM BIOS WITH MY COREBOOT IMAGE (ERASE/WRITE/VERIFY) HERE IS THE LINK:
drive.google.com
****IMPORTANT****
in this image I've ripped the ME firmware from a machine with latest LENOVO BIOS, so update it to the version in the link above BEFORE flashing.
I've also ripped the GbE Intel FW with MY MAC ADDRESS burned into it.
You SHOULD rip THE GbE Intel FW from YOUR OWN MACHINE and COMPILE coreboot with it to be 100% OK.
- REINSTALL COIN BATTERY
- TURN SYSTEM ON, after a reboot, you are into e2k/Tianocore!
- PROFIT from this 100% cute little PC !