Date
1 - 1 of 1
Does FDF support SUBYPE_GUID syntax?
Yeh
Hi Everyone,
I am wondering if EDK2 source already supports SUBTYPE_GUID format in FDF.
I tried the following case similar to the EDKII FDF specification but failed.
Specification:
FILE FREEFORM = 85C3EBE1-F58F-4820-8AD3-F2FB62DC3A23 {
FvAlignment = 512K
SECTION SUBTYPE_GUID AFC13561-9A65-4754-9C93-E133B3B8767C = $(WORKSPACE)/MyPackage
/MyNewType/Binary/newform.bin
}
My case under the [FV.FvRecovery] field of EmulatorPkg.fdf:
FILE FREEFORM = 85C3EBE1-F58F-4820-8AD3-F2FB62DC3A23 {
SECTION SUBTYPE_GUID AFC13561-9A65-4754-9C93-E133B3B8767C = EmulatorPkg/MyPicture/Picture.jpg
}
Actually, I removed FvAlignment since it causes the build error too.
Python messages:
(Python 3.10.0 on win32) Traceback (most recent call last):
File "D:\work\Min\edk2\BaseTools\Source\Python\build\build.py", line 2695, in Main
MyBuild.Launch()
File "D:\work\Min\edk2\BaseTools\Source\Python\build\build.py", line 2490, in Launch
self._MultiThreadBuildPlatform()
File "D:\work\Min\edk2\BaseTools\Source\Python\build\build.py", line 2282, in _MultiThreadBuildPlatform
Wa, self.BuildModules = self.PerformAutoGen(BuildTarget,ToolChain)
File "D:\work\Min\edk2\BaseTools\Source\Python\build\build.py", line 2133, in PerformAutoGen
Wa = WorkspaceAutoGen(
File "D:\work\Min\edk2\BaseTools\Source\Python\AutoGen\WorkspaceAutoGen.py", line 43, in __init__
self._InitWorker(Workspace, MetaFile, Target, Toolchain, Arch, *args, **kwargs)
File "D:\work\Min\edk2\BaseTools\Source\Python\AutoGen\WorkspaceAutoGen.py", line 116, in _InitWorker
self.ProcessModuleFromPdf()
File "D:\work\Min\edk2\BaseTools\Source\Python\AutoGen\WorkspaceAutoGen.py", line 212, in ProcessModuleFromPdf
if self.FdfProfile:
File "D:\work\Min\edk2\BaseTools\Source\Python\Common\caching.py", line 28, in __get__
Value = obj.__dict__[self._function.__name__] = self._function(obj)
File "D:\work\Min\edk2\BaseTools\Source\Python\AutoGen\WorkspaceAutoGen.py", line 188, in FdfProfile
Fdf.ParseFile()
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 1319, in ParseFile
while self._GetFd() or self._GetFv() or self._GetFmp() or self._GetCapsule() or self._GetRule() or self._GetOptionRom():
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 2115, in _GetFv
isFile = self._GetFileStatement(FvObj)
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 2563, in _GetFileStatement
self._GetFilePart(FfsFileObj)
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 2646, in _GetFilePart
self._GetSectionData(FfsFileObj)
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 2768, in _GetSectionData
IsEncapSection = self._GetEncapsulationSec(FfsFileObj)
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 3069, in _GetEncapsulationSec
raise Warning.Expected("SECTION", self.FileName, self.CurrentLineNumber)
GenFds.FdfParser.Warning: expected SECTION near line 236, column 14: SUBTYPE_GUID AFC13561-9A65-4754-9C93-E133B3B8767C = ... my file location
Thanks,
Yeh
I am wondering if EDK2 source already supports SUBTYPE_GUID format in FDF.
I tried the following case similar to the EDKII FDF specification but failed.
Specification:
FILE FREEFORM = 85C3EBE1-F58F-4820-8AD3-F2FB62DC3A23 {
FvAlignment = 512K
SECTION SUBTYPE_GUID AFC13561-9A65-4754-9C93-E133B3B8767C = $(WORKSPACE)/MyPackage
/MyNewType/Binary/newform.bin
}
My case under the [FV.FvRecovery] field of EmulatorPkg.fdf:
FILE FREEFORM = 85C3EBE1-F58F-4820-8AD3-F2FB62DC3A23 {
SECTION SUBTYPE_GUID AFC13561-9A65-4754-9C93-E133B3B8767C = EmulatorPkg/MyPicture/Picture.jpg
}
Actually, I removed FvAlignment since it causes the build error too.
Python messages:
(Python 3.10.0 on win32) Traceback (most recent call last):
File "D:\work\Min\edk2\BaseTools\Source\Python\build\build.py", line 2695, in Main
MyBuild.Launch()
File "D:\work\Min\edk2\BaseTools\Source\Python\build\build.py", line 2490, in Launch
self._MultiThreadBuildPlatform()
File "D:\work\Min\edk2\BaseTools\Source\Python\build\build.py", line 2282, in _MultiThreadBuildPlatform
Wa, self.BuildModules = self.PerformAutoGen(BuildTarget,ToolChain)
File "D:\work\Min\edk2\BaseTools\Source\Python\build\build.py", line 2133, in PerformAutoGen
Wa = WorkspaceAutoGen(
File "D:\work\Min\edk2\BaseTools\Source\Python\AutoGen\WorkspaceAutoGen.py", line 43, in __init__
self._InitWorker(Workspace, MetaFile, Target, Toolchain, Arch, *args, **kwargs)
File "D:\work\Min\edk2\BaseTools\Source\Python\AutoGen\WorkspaceAutoGen.py", line 116, in _InitWorker
self.ProcessModuleFromPdf()
File "D:\work\Min\edk2\BaseTools\Source\Python\AutoGen\WorkspaceAutoGen.py", line 212, in ProcessModuleFromPdf
if self.FdfProfile:
File "D:\work\Min\edk2\BaseTools\Source\Python\Common\caching.py", line 28, in __get__
Value = obj.__dict__[self._function.__name__] = self._function(obj)
File "D:\work\Min\edk2\BaseTools\Source\Python\AutoGen\WorkspaceAutoGen.py", line 188, in FdfProfile
Fdf.ParseFile()
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 1319, in ParseFile
while self._GetFd() or self._GetFv() or self._GetFmp() or self._GetCapsule() or self._GetRule() or self._GetOptionRom():
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 2115, in _GetFv
isFile = self._GetFileStatement(FvObj)
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 2563, in _GetFileStatement
self._GetFilePart(FfsFileObj)
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 2646, in _GetFilePart
self._GetSectionData(FfsFileObj)
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 2768, in _GetSectionData
IsEncapSection = self._GetEncapsulationSec(FfsFileObj)
File "D:\work\Min\edk2\BaseTools\Source\Python\GenFds\FdfParser.py", line 3069, in _GetEncapsulationSec
raise Warning.Expected("SECTION", self.FileName, self.CurrentLineNumber)
GenFds.FdfParser.Warning: expected SECTION near line 236, column 14: SUBTYPE_GUID AFC13561-9A65-4754-9C93-E133B3B8767C = ... my file location
Thanks,
Yeh