Skip to content

qcom-capsule: patch the machine-selected xbl_config variant - #3045

Open
Michael Scott (mike-scott) wants to merge 1 commit into
qualcomm-linux:masterfrom
mike-scott:capsule-fixes
Open

Michael Scott (mike-scott) wants to merge 1 commit into
qualcomm-linux:masterfrom
mike-scott:capsule-fixes

Conversation

@mike-scott

@mike-scott Michael Scott (mike-scott) commented Aug 31, 2026

Copy link
Copy Markdown

The logic for injecting FMP root cert currently uses a hardcoded filename: xbl_config.elf.

Instead, use ${QCOM_XBL_CONFIG} which is set to the correct filename depending on features that are enabled in MACHINE_FEATURES. For example, "kvm" will set QCOM_XBL_CONFIG="xbl_config_kvm.elf".

Also overwrite the plain xbl_config.elf in the staging dir with the patched variant so the capsule FV entry and do_deploy consume the correct file.

This fixes an early kernel boot failure triggered when capsule generation is enabled for machines with "kvm" in MACHINE_FEATURES. They incorrectly get the default xbl_config.elf (which is typically based on Gunyah) as part of their boot binaries.

@mike-scott

Copy link
Copy Markdown
Author

CC xueqnie

@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 58a3b1f

qcom-distro
Pass: 296 | Fail: 28 | Total: 357
qcom-distro_linux-qcom-6.18
Pass: 219 | Fail: 11 | Total: 259
nodistro
Pass: 10 | Fail: 0 | Total: 10

@test-reporting-app

test-reporting-app Bot commented Aug 31, 2026

Copy link
Copy Markdown

Test Results

  119 files  +   89    715 suites  +685   6h 29m 32s ⏱️ + 3h 29m 59s
  164 tests +  151    135 ✅ +  126   3 💤 + 3  26 ❌ +22 
4 342 runs  +4 075  4 221 ✅ +3 961  62 💤 +62  59 ❌ +52 

For more details on these failures, see this check.

Results for commit 58a3b1f. ± Comparison against base commit f87afad.

This pull request removes 2 and adds 153 tests. Note that renamed tests count towards both.
lava ‑ auto-login-action
lava ‑ minimal-boot
0_AudioRecord_Config01 ‑ AudioRecord_Config01
0_BT_FW_KMD_Service ‑ BT_FW_KMD_Service
0_GStreamer_Video_Encode_h264_480p ‑ GStreamer_Video_Encode_h264_480p
0_Libcamera_cam ‑ Libcamera_cam
0_Weston_Runtime_Preflight ‑ Weston_Runtime_Preflight
0_hotplug ‑ hotplug
10_AudioRecord ‑ AudioRecord
10_Docker_Kernel_Config ‑ Docker_Kernel_Config
10_Kubernetes_Kernel_Config ‑ Kubernetes_Kernel_Config
10_Logging_Journalctl_Validation ‑ Logging_Journalctl_Validation
…

♻️ This comment has been updated with latest results.

@mike-scott

Copy link
Copy Markdown
Author

Milosz Wasilewski (@mwasilew) I see in the log: 24 fail and I can view the "detail" page:
https://github.com/qualcomm-linux/meta-qcom/pull/3045/checks?check_run_id=99682473350

But I don't see any failure there. At the bottom it shows:
View more details on Test reporting App

But that only takes me to your Github.

@mike-scott

Michael Scott (mike-scott) commented Sep 1, 2026

Copy link
Copy Markdown
Author

Ah, I found the correct page to show me the errors:

@lumag

Copy link
Copy Markdown
Contributor

Milosz Wasilewski (Milosz Wasilewski (@mwasilew)) I see in the log: 24 fail and I can view the "detail" page:

Press the "workflow" link in the "Test run workflow"

@qcomlnxci

Copy link
Copy Markdown

Test Coral run workflow

Test jobs for commit 2bcef4c

  • qcomdistro: multimedia image-prop
    Pass: 36 | Fail: 0 | Total: 36
  • qcomdistro: multimedia image
    Pass: 9 | Fail: 0 | Total: 9

auto-merge was automatically disabled September 4, 2026 00:28

Head branch was pushed to by a user without write access

@mike-scott Michael Scott (mike-scott) changed the title Capsule fixes qcom-capsule: patch the machine-selected xbl_config variant Sep 4, 2026
@mike-scott

Michael Scott (mike-scott) commented Sep 4, 2026

Copy link
Copy Markdown
Author

Pushed back as a single patch updating the qcom-capsule class to consume the QCOM_XBL_CONFIG defined artifact instead of the hard-coded value xbl_config.elf. Fixing an early kernel crash on "kvm" selected HW.

@mike-scott

Copy link
Copy Markdown
Author

Ricardo Salveti de Araujo (@rsalveti) Dmitry Baryshkov (@lumag) Looks like we'll probably wait for Igor Opaniuk (@igoropaniuk) on this review?

@qcomlnxci

Copy link
Copy Markdown

Test Coral run workflow

Test jobs for commit 58a3b1f

  • qcomdistro: multimedia image-prop
    Pass: 41 | Fail: 0 | Total: 41
  • qcomdistro: multimedia image
    Pass: 9 | Fail: 0 | Total: 9

@mike-scott

Copy link
Copy Markdown
Author

Igor Opaniuk (@igoropaniuk) Can you take a look?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@mike-scott

Copy link
Copy Markdown
Author

Ricardo Salveti de Araujo (@rsalveti) Dmitry Baryshkov (@lumag) anything else needed on this?

@ricardosalveti

Copy link
Copy Markdown
Contributor

Michael Scott (@mike-scott) mind a rebase? Just so we can have a clean test run.

The logic for injecting FMP root cert currently uses a hardcoded
filename: xbl_config.elf.

Instead, use ${QCOM_XBL_CONFIG} which is set to the correct filename
depending on features that are enabled in MACHINE_FEATURES. For
example, "kvm" will set QCOM_XBL_CONFIG="xbl_config_kvm.elf".

Also overwrite the plain xbl_config.elf in the staging dir with
the patched variant so the capsule FV entry and do_deploy consume
the correct file.

This fixes an early kernel boot failure triggered when capsule
generation is enabled for machines with "kvm" in MACHINE_FEATURES.
They incorrectly get the default xbl_config.elf (which is typically
based on Gunyah) as part of their boot binaries.

Platforms without an xbl_config (e.g. hamoa) are unaffected.

Signed-off-by: Michael Scott <mike@foundries.io>
@mike-scott

Copy link
Copy Markdown
Author

Rebased on latest master. The previous pass:

  • qcomdistro: multimedia image-prop
    Pass: 41 | Fail: 0 | Total: 41
  • qcomdistro: multimedia image
    Pass: 9 | Fail: 0 | Total: 9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants