
Simon Glass sjg@chromium.org wrote:
Chris Webb chris@arachsys.com wrote:
My worry about using binman for cracking such a simple nut is the dependencies it pulls in that wouldn't otherwise be needed: the documentation suggests at least lzma-alone, liblz4, and pyelftools.
I should probably update this. Unless you use compression and SPL symbols you shouldn't need these.
Hi Simon. If it doesn't pull in these extra dependencies, please ignore my concern/objection above. I was kind of hoping you'd tell me I was wrong! :)
We've just exorcised the pyelftools requirement for building Rockchip u-boot; it would be a pity for to re-inflict it on users and casual developers just for a convenience feature.
You mean make_fit_atf.py? Again I think that this logic should be moved into binman. It doesn't actually have support to generic FITs but should.
We don't use a lot from this library so perhaps could adopt a similar implmentation.
Happy to try to help if I can; ELF is just a collection of fixed C-style structures so is dead easy to parse with Python's built in struct support.
The only (minor) complication for binman compared to make_fit_atf.py is the need work across 32/64-bit and big/little-endian platforms. Field sizes and therefore offsets vary between the two cases of 32-bit and 64-bit ELF files. (I could just verify 64-bit little-endian ARM and then used fixed offsets in make_fit_atf.py.)
Best wishes,
Chris.