Adding Rocket Lake support to Lenovo M70q

Hi, I do own a Lenovo M70q. It is the first gen unit so it only have support for Comet Lake.

I would like to replace the 10500T for a 11500T so I took a look at how to update the BIOS to do that.

As far as I understand from running UBU on the Gen 2 BIOS I downloaded, I do need to add extra Tiger Lake GOB and GOB VBT. I also have to replace the VBIOS from OROM CoffeeLake to Icelake.

What tool I am supposed to use for that, UBU seam to only replace these for newer versions.

Also, I have to remove A0650 Microcode and replace it with A0671. Here I have another problem. I tried to do it manually with MMtools and with UBU and in both case I get the following error :

ERROR 2000: Invalid fixed file location. File header( - ) is not aligned on 8-byte boundary.
Location: 0xff07f11a. File header size: 0x18.

Finally, that rom was AMI BIOS Guard PFAT protected, so I’m testing on the file after I ran it thru AMI BIOS Guard Extractor . Can that file be flashed with just that PFAT removed or I need to do something else.

Did some more work and research

The PFAT thing is not present when I dump the SPI ROM and try to work on that instead of a downloaded ROM from Lenovo.

This also fix the ERROR 2000!

So now I can update the modules and replace the CPU Microcode.

Only thing to figure out is to actually add extra GOP and GOP VBT (instead of replacing them).

Also I was tinkering with the ME tools to update ME to 14.1 for “Intel(R) CometLake H Series Chipset With RocketLake”

That should still continue to work with my current CPU right (I want support for both as I wanted to know if it was possible to add support for RocketLake before buying the 11500T and so continue to use the 10500T with the patched BIOS until I receive the 11500T.

Your on the right path… still nothing is for sure on this kind of tryouts.
If its necessary a change in the ME FW engine, this is where the old cpu may wok or not, you dont need to remove old mcodes as long as the insertion volumes have enough space on it.

Now, the GOP/VBT/OROM… there are no modern guides/tools/scripts on the forum for the latest/modern chipsets HW ids as past ones, but only analyzing those present in that machine bios/dump and maybe you dont even need it to update nothing related.

Past guide here: [Guide] Transfer of specific Intel OROM VBIOS and GOP VBT settings by using Intel BMP tool - BIOS/UEFI Modding / BIOS modules (PCI ROM, EFI and others) - Win-Raid Forum (level1techs.com)

Check the extracted image with UEFIToolNE for protected ranges and the platform protection settings in ME…

UEFIToolNE seam to be fine, one small zone protected with is related to FwCapsuleHdr

And for ME, I get that

So I suppose answer is : it won’t work.

So I could flash ME with a new image generated by the Intel Flash Image Tool to get rid of that right?

If so I have to find the second flash chip on my board so I can dump it, patch the DESC region so I have write access first…

Please define ‘one small zone’:

The colours are defined here:

Boot Guard settings are fused into an FPF (PCH) when End of manufacturing mode is enabled. So you’d need a new PCH to change these settings.

The flash descriptor is one easy step, but long before bootguard, measured boot and verified boot there were MTRRs to protect access to the bios region, and you have to put the cpu in a special mode to get access to these areas, so you’d need a programmer most probably anyway.

I don’t think you can overcome the bootguard protections here, but even if you could you would probably not be able to flash a modified bios without a programmer.

But I’m not the one most interested in modding, so maybe you get a more optimistic opinion from someone else…

Thanks for the article, I will make a more deep read.

Mine is mostly Cyan, like the image you did post.

I thought It was only a small region that was protected because of the “protection ranges” listing in the security tab:

Address: FF098000h, Size: FF09913Ch
EDIT : Well, FF09913Ch is quite big, I did not read properly, so that would probably correspond to the whole Cyan block.

Hash (SHA256): 1D4D234A39619514D5E6D28B4029B67E8A9408E650D193EB6ECAC4BC5D3B2136

Address: FFFFFFFFh, Size: FFFFFFFFh

Hash (SHA256): 000000003C010000C4344C0000000000000057FF00423900FFFFFFFFFFFFFFFF

And was thinking the second entry was bogus because it begin after the rom image.

As for the Boot Guard stuff, I did read that it was not actually working if “Measured Boot” and “Verified boot” are not both “enabled”. Mine have Measured Boot set to disabled.

That info could be wrong… Anyway, i’m going to dump all eeproms before trying anything so I can revert if I brick it.

My plan was to use a programmer anyway as I need one to patch the descriptors. So I can also use it to flash the main rom.

I might have fixed the ME issue, at least it’s one thing.
image

And now it just let me flash the flash Descriptor without erroring, how nice!

And for the BIOS Cyan protected range, I think it’s only to prevent flashing from an OS. So I should be able to just flash with my programmer.

1 Like