Bug ID 1230425
Summary Using shorter name of build root folder can build out a smaller ovmf image
Classification openSUSE
Product openSUSE Tumbleweed
Version Slowroll
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component Virtualization:Other
Assignee virt-bugs@suse.de
Reporter jlee@suse.com
QA Contact qa-bugs@suse.de
Target Milestone ---
Found By ---
Blocker ---

This situation be found when I am porting edk2-stable202405 ovmf to Tumbleweed.
The built out FV image size is too big for FD_SIZE_2MB config. It shows the
following build error on OBS:

Generating PEIFV FV
###
Generating DXEFV FV
############ ['GenFv', '-a',
'/home/joeyli/tmp/tmp/edk2-edk2-stable202405/Build/OvmfX64/DEBUG_GCC5/FV/Ffs/FVMAIN_COMPACT.inf',
'-o',
'/home/joeyli/tmp/tmp/edk2-edk2-stable202405/Build/OvmfX64/DEBUG_GCC5/FV/FVMAI
Return Value = 2
GenFv: ERROR 3000: Invalid
  the required fv image size 0x1ac300 exceeds the set fv image size 0x1ac000

This error can also be reproduced by local build. Then I start to checking the
binary of *.ffs files which are the source of FV image.
e.g.

Build/OvmfX64/DEBUG_GCC5/FV/Ffs/D6A2CB7F-6A18-4e2f-B43B-9920A733700ADxeCore/D6A2CB7F-6A18-4e2f-B43B-9920A733700ASEC1.1.pe32

In pe32 binary, it has many strings which are copied from the name of build
root folder.
e.g.
^@!(((INTN)(RETURN_STATUS)(Status)) <
0)^@/home/joeyli/tmp/tmp/edk2/MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c^@DisableNullDetectionAtTheEndOfDxe():
end^M
^@/home/joeyli/tmp/tmp/edk2/MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.c^@!!!!!!!!
ImageRecord not found !!!!!!!!

So, if I used a build root folder with short name. I can reduce the size of the
final FV image for FD_SIZE_2MB config.


You are receiving this mail because: