import subprocess\r
import StringIO\r
from Common.Misc import SaveFileOnChange\r
+from GenFds import GenFds\r
\r
\r
T_CHAR_LF = '\n'\r
self.BlockSize = None\r
# For GenFv\r
self.BlockNum = None\r
+ self.CapsuleName = None\r
\r
## Generate capsule\r
#\r
# @param self The object pointer\r
+ # @retval string Generated Capsule file path\r
#\r
def GenCapsule(self):\r
+ if self.UiCapsuleName.upper() + 'cap' in GenFds.ImageBinDict.keys():\r
+ return GenFds.ImageBinDict[self.UiCapsuleName.upper() + 'cap']\r
+\r
+ GenFdsGlobalVariable.InfLogger( "\nGenerate %s Capsule" %self.UiCapsuleName)\r
CapInfFile = self.GenCapInf()\r
CapInfFile.writelines("[files]" + T_CHAR_LF)\r
-\r
+ CapFileList = []\r
for CapsuleDataObj in self.CapsuleDataList :\r
+ CapsuleDataObj.CapsuleName = self.CapsuleName\r
FileName = CapsuleDataObj.GenCapsuleSubItem()\r
+ CapsuleDataObj.CapsuleName = None\r
+ CapFileList.append(FileName)\r
CapInfFile.writelines("EFI_FILE_NAME = " + \\r
FileName + \\r
T_CHAR_LF)\r
GenFdsGlobalVariable.GenerateFirmwareVolume(\r
CapOutputFile,\r
[self.CapInfFileName],\r
- Capsule=True\r
+ Capsule=True,\r
+ FfsList=CapFileList\r
)\r
+\r
+ GenFdsGlobalVariable.VerboseLogger( "\nGenerate %s Capsule Successfully" %self.UiCapsuleName)\r
GenFdsGlobalVariable.SharpCounter = 0\r
+ GenFds.ImageBinDict[self.UiCapsuleName.upper() + 'cap'] = CapOutputFile\r
+ return CapOutputFile\r
\r
## Generate inf file for capsule\r
#\r