Skip to content

image_types_qcom: include *.img in qcomflash bundle whitelist#2172

Merged
lumag merged 1 commit into
qualcomm-linux:masterfrom
EmbeddedAndroid:qcomflash-img-payloads
May 13, 2026
Merged

image_types_qcom: include *.img in qcomflash bundle whitelist#2172
lumag merged 1 commit into
qualcomm-linux:masterfrom
EmbeddedAndroid:qcomflash-img-payloads

Conversation

@EmbeddedAndroid
Copy link
Copy Markdown
Contributor

@EmbeddedAndroid EmbeddedAndroid commented May 13, 2026

Summary

The boot-firmware deploy loop in create_qcomflash_pkg
(classes-recipe/image_types_qcom.bbclass) globs QCOM_BOOT_FILES_SUBDIR
for a fixed set of file patterns (*.elf, *.mbn*, *.melf*, *.fv,
named *.bin families, etc.) and copies the matches into the qcomflash
tarball. Boards whose LUN payloads are deployed as raw *.img files
are therefore silently dropped from the bundle, even though the
firmware recipe correctly deploys them into QCOM_BOOT_FILES_SUBDIR.

This trips up the Thundercomm RUBIK Pi 3 in particular, where LUN 6
holds rubikpi_config.img, devcfg_full.img, rubikpi_dtso.img and
splash.img. Future boards that ship raw image partitions will hit
the same gap.

Add -o -name '*.img' to the find expression, at the same precedence
as the other plain extension globs. The \( -name '*.elf' ! -name 'abl2esp*.elf' ... \) group with its exclusions is untouched.

The change is purely additive. Targets that do not deploy any *.img
files into QCOM_BOOT_FILES_SUBDIR see no behavioural change, no
existing pattern is removed, and no existing file is newly excluded.

This addresses review feedback on
qualcomm-linux/meta-qcom-3rdparty#41
(qualcomm-linux/meta-qcom-3rdparty#41 (comment))
requesting that the fix land here in meta-qcom rather than as a
downstream core-image-base bbappend.

The boot-firmware deploy loop in create_qcomflash_pkg only picks up a
fixed set of file patterns (*.elf, *.mbn*, *.melf*, *.fv, named *.bin
families, etc.). Boards whose LUN payloads are deployed as raw *.img
files therefore never make it into the qcomflash tarball, even though
the firmware recipe deploys them into QCOM_BOOT_FILES_SUBDIR.

In particular, the Thundercomm RUBIK Pi 3 has LUN 6 partitions backed
by rubikpi_config.img, devcfg_full.img, rubikpi_dtso.img and
splash.img. Without this whitelist entry these files are silently
dropped from the bundle and the resulting flashable image is
incomplete; this was previously being worked around in a downstream
bbappend on core-image-base, which is the wrong layer.

Add *.img to the find expression at the same precedence as the other
plain extension globs. The change is purely additive: existing targets
that do not deploy any *.img files into QCOM_BOOT_FILES_SUBDIR see no
behavioural change, and the exclusions inside the \( ... \) ELF group
are unaffected.

Link: qualcomm-linux/meta-qcom-3rdparty#41 (comment)
Signed-off-by: Tyler Baker <tyler.baker@oss.qualcomm.com>
@github-actions
Copy link
Copy Markdown

Test run workflow

Test jobs for commit 39762c0

qcom-distro
Pass: 204 | Fail: 2 | Total: 226
qcom-distro_linux-qcom-6.18
Pass: 181 | Fail: 2 | Total: 196
nodistro
Pass: 9 | Fail: 0 | Total: 9

@test-reporting-app
Copy link
Copy Markdown

Test Results

   99 files  ± 0    528 suites  ±0   4h 56m 59s ⏱️ - 3h 9m 24s
   95 tests  -  5     67 ✅  -  3   1 💤 ±0  27 ❌  -  2 
4 977 runs  +80  4 907 ✅ +98  33 💤  - 6  37 ❌  - 12 

For more details on these failures, see this check.

Results for commit 39762c0. ± Comparison against base commit a27cc18.

This pull request removes 5 tests.
lava ‑ downloads
lava ‑ lava-overlay
lava ‑ lava-test-retry
lava ‑ lava-test-shell
lava ‑ test-definition

Copy link
Copy Markdown
Contributor

@koenkooi koenkooi left a comment

Choose a reason for hiding this comment

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

LGTM

@lumag lumag merged commit f8da73c into qualcomm-linux:master May 13, 2026
249 of 251 checks passed
@bhargav0610
Copy link
Copy Markdown

we have seen failures

Crashed Jobs:
LAVA | Scheduler | Jobs | 211179 - qcs615-ride
Crash logs:
o Kernel panic - not syncing
LAVA | Scheduler | Jobs | 211150 - qcs615-ride
• Crash logs:
o Kernel panic - not syncing
LAVA | Scheduler | Jobs | 211142 - qcs6490
Crash logs:
o Kernel panic - not syncing
o Kernel panic - not syncing: Asynchronous SError Interrupt

@lumag
Copy link
Copy Markdown
Contributor

lumag commented May 13, 2026

we have seen failures

Is it relevant to this pull request?

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.

4 participants