thrimbor / thinkpad-uefi-sign

GNU General Public License v3.0
55 stars 12 forks source link

ERROR: Could not find FFSv2 volume GUID in T450s UEFI #6

Open recallmenot opened 9 months ago

recallmenot commented 9 months ago

Hi,

I'm trying to mod and sign the UEFI on my T450s.

xx40_xx50 patches I used came from here: https://github.com/digmorepaka/thinkpad-firmware-patches/blob/master/xx40_xx50_patches_v7.txt For a first trial run I used comments to only enable the advanced bios menu.

uefipatch previously gave me these messages while patching

UEFIPatch BIOS_A.bin xx40_xx50_patches_v7.txt -o BIOS_A_menu_unlock.bin
parseVolume: unknown file system FFF12B8D-7696-4C8B-A985-2747075B4F50
parseVolume: unknown file system 00504624-8A59-4EEB-BD0F-6B36E96128E0
parseFile: non-empty pad-file contents will be destroyed after volume modifications
patch: replaced 16 bytes at offset 3E0h 04320B483CC2E14ABB16A73FADDA475F -> 778B1D826D24964E8E103467D56AB1BA
Image patched

which according to this issue appears to be fine? Editing it in uefitool gives me the same unknown file system messages.

Using your sign.py I get

./sign.py BIOS_A_menu_unlock.bin -o BIOS_A_menu_unlock_s.bin
INFO: Found public key modulus at offset  0xf48d76
ERROR: Could not find FFSv2 volume GUID

trying to verify the original I get the same:

./verify.py BIOS_A.bin
INFO: Found public key modulus at offset  0xf48d76
ERROR: Could not find FFSv2 volume GUID

Looking at where that error comes from I can see that you are matching against the regex in line 55.

Maybe my UEFI uses some different string?

I'll attach it here, feel free to delete it once you downloaded it: BIOS_A.bin.tar.gz

It was downloaded using a raspi3b+ as my ch341 v1.7 programmer with integrated level shifters turned out to be total junk. flashrom on raspi worked first try (with W25Q128FVSQ automatically detected as W25Q128.V) and verified fine using diff against a second download.

Thank you!