Skip to content

unpacker: add maxlinear puma 8 unpacker#216

Merged
jstucke merged 2 commits intofkie-cad:masterfrom
andrewjlamarche:puma8
Apr 24, 2026
Merged

unpacker: add maxlinear puma 8 unpacker#216
jstucke merged 2 commits intofkie-cad:masterfrom
andrewjlamarche:puma8

Conversation

@andrewjlamarche
Copy link
Copy Markdown
Contributor

@andrewjlamarche andrewjlamarche commented Apr 8, 2026

MaxLinear Puma 8 uses a hacked up u-boot multi-image uImage implementation with some custom headers. Add an unpacker to extract the kernel, rootfs, firmware (microcode), FPGA image, device tree and signature block.

@andrewjlamarche andrewjlamarche force-pushed the puma8 branch 3 times, most recently from 6eedbb9 to 5e568d1 Compare April 8, 2026 06:02
@andrewjlamarche andrewjlamarche force-pushed the puma8 branch 3 times, most recently from d2b2e5f to a419cf9 Compare April 19, 2026 18:57
@andrewjlamarche andrewjlamarche marked this pull request as ready for review April 19, 2026 18:58
@andrewjlamarche
Copy link
Copy Markdown
Contributor Author

This is ready. Note: the included test data is junk, but does extract as if it were real.

@andrewjlamarche
Copy link
Copy Markdown
Contributor Author

ping @jstucke

Copy link
Copy Markdown
Collaborator

@jstucke jstucke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you again for your contribution and sorry for the delay. It seems to work fine with the sample you provided earlier. There are some ruff check fails (I suggest you do a pre-commit install in the root folder of the repo).

You also still need to update the version of firmware-magic-database in _install_magic in fact_extractor/fact_extractor/install/common.py to the latest (currently v0.2.12) for the MIME type to work.

Comment thread fact_extractor/plugins/unpacking/maxlinear/code/maxlinear_puma_8_vendor_image.py Outdated
Comment thread fact_extractor/plugins/unpacking/maxlinear/code/maxlinear_puma_8_vendor_image.py Outdated
Comment thread fact_extractor/plugins/unpacking/maxlinear/code/maxlinear_puma_8_vendor_image.py Outdated
@andrewjlamarche
Copy link
Copy Markdown
Contributor Author

There are some ruff check fails (I suggest you do a pre-commit install in the root folder of the repo).

Sorry, I should know this by now :D Too long between my commits to remember.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
MaxLinear Puma 8 uses a hacked up u-boot multi-image uImage implementation with
some custom headers. Add an unpacker to extract the kernel, rootfs, firmware
(microcode), FPGA image, device tree and signature block.

Signed-off-by: Andrew LaMarche <andrewjlamarche@gmail.com>
Copy link
Copy Markdown
Collaborator

@jstucke jstucke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks again for the contribution!

@jstucke jstucke merged commit ff3b328 into fkie-cad:master Apr 24, 2026
3 checks passed
@andrewjlamarche andrewjlamarche deleted the puma8 branch April 24, 2026 09:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants