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.