
Hi Ivan,
On Thu, 15 Sept 2022 at 13:44, Ivan Mikhaylov fr0st61te@gmail.com wrote:
On Wed, 2022-09-07 at 15:10 -0600, Simon Glass wrote:
Hi Ivan,
Section data comes from the BuildSectionData() method, so you could try calling that.
See also collect_contents_to_file()
Regards, Simon
Simon, I've tried both these ways and they both don't work to me. What I've got:
def SignEntries(image_fname, input_fname, privatekey_fname, algo, entry_paths): image_fname = os.path.abspath(image_fname) image = Image.FromFile(image_fname) state.PrepareFromLoadedData(image) image.LoadData()
BuildSectionData
for entry_path in entry_paths: entry = image.FindEntryPath(entry_path)
try: entry.BuildSectionData(True) except Exception as e: logging.error(traceback.format_exc())
ERROR:root:AttributeError: 'NoneType' object has no attribute 'run'
collect_contents_to_file
for entry_path in entry_paths: entry = image.FindEntryPath(entry_path)
try: entry.collect_contents_to_file([entry.name], "prefix",
- except Exception as e: logging.error(traceback.format_exc())
ERROR:root:AttributeError: 'str' object has no attribute 'ObtainContents'
This seems to be getting a string instead of an entry object. Can you try -D to see? See 'Writing new entries and debugging'.
GetData
for entry_path in entry_paths: entry = image.FindEntryPath(entry_path)
print("--- DATA ---") data = entry.GetData(True) print(data) print("~~~ DATA ~~~")
--- DATA --- Node '/fit/images/u-boot-1/u-boot': GetData: size 0x4 Node '/fit/images/u-boot-1': GetPaddedDataForEntry: size None Node '/fit/images/u-boot-1': GetData: 1 entries, total size 0x4 Node '/fit/images/fdt-1/u-boot-spl-dtb': GetData: size 0x4f7 Node '/fit/images/fdt-1': GetPaddedDataForEntry: size None Node '/fit/images/fdt-1': GetData: 1 entries, total size 0x4f7 Deleted temporary directory '/tmp/binman.z81eqcfz' binman: 'NoneType' object has no attribute 'run'
This might be trying to call tools.run() so use -D to see where the error is.
There is no problem with getting data from GetData around start of the year. Maybe some regression?
All this ran with this: binman -v5 sign -i image.bin -k test_key.key -a sha256,rsa4096 fit
`fit` in entry_paths and image contains FIT section with name `fit`.
binman ls -i image.bin Name Image-pos Size Entry-type Offset Uncomp-size
main-section 0 100000 section 0 fit 10000 c0a fit 10000 u-boot-1 10104 4 section 104 u-boot 10104 4 u-boot 0 fdt-1 101c8 4f7 section 1c8 u-boot-spl-dtb 101c8 4f7 u-boot-spl-dtb 0 fdtmap 10c0a 4f5 fdtmap 10c0a
Seems something went wrong, any ideas? Or did I misuse?
Can you please push a tree somewhere so I can try this?
Regards, Simon