binman: Allow entries to expand after packing
Add support for detecting entries that change size after they have already
been packed, and re-running packing when it happens.
This removes the limitation that entry size cannot change after
PackEntries() is called.
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/tools/binman/image.py b/tools/binman/image.py
index c8bce39..6339d02 100644
--- a/tools/binman/image.py
+++ b/tools/binman/image.py
@@ -55,6 +55,10 @@
self._filename = filename
self._section = bsection.Section('main-section', None, self._node, self)
+ def Raise(self, msg):
+ """Convenience function to raise an error referencing an image"""
+ raise ValueError("Image '%s': %s" % (self._node.path, msg))
+
def GetFdtSet(self):
"""Get the set of device tree files used by this image"""
return self._section.GetFdtSet()
@@ -100,6 +104,10 @@
"""
self._section.GetEntryOffsets()
+ def ResetForPack(self):
+ """Reset offset/size fields so that packing can be done again"""
+ self._section.ResetForPack()
+
def PackEntries(self):
"""Pack all entries into the image"""
self._section.PackEntries()