Skip to content

fix corrupted slot B type GUIDs in LUN 4 GPT#546

Closed
andiradulescu wants to merge 1 commit intocommaai:masterfrom
andiradulescu:fix-gpt4-slot-b-type-guids
Closed

fix corrupted slot B type GUIDs in LUN 4 GPT#546
andiradulescu wants to merge 1 commit intocommaai:masterfrom
andiradulescu:fix-gpt4-slot-b-type-guids

Conversation

@andiradulescu
Copy link
Copy Markdown
Collaborator

@andiradulescu andiradulescu commented Mar 9, 2026

Summary

  • All slot B partition type GUIDs on LUN 4 were set to 77036cd4-03d5-42bb-8ed1-37e5a88baa34 instead of their correct per-partition type GUIDs
  • This caused the bootloader to fail with ValidateSlotGuids: BootableSlot _b does not have valid guids / FindBootableSlot() status: Device Error
  • Fixed by copying each slot A partition's type GUID to its corresponding slot B entry (aop_a→aop_b, tz_a→tz_b, boot_a→boot_b, etc.) and recalculating GPT CRCs

Test plan

  • Flashed fixed GPT via tools/qdl repairgpt 4 firmware/gpt_main_4.img
  • Verified slot B type GUIDs match slot A via tools/qdl printgpt
  • Device boots successfully on slot B

@andiradulescu andiradulescu deleted the fix-gpt4-slot-b-type-guids branch March 9, 2026 22:27
@andiradulescu
Copy link
Copy Markdown
Collaborator Author

andiradulescu commented Mar 9, 2026

The solution in this PR is not really correct, though all slot B partition type GUIDs are indeed 77036cd4-03d5-42bb-8ed1-37e5a88baa34.

ABL has ValidateSlotGuids enabled and checks GUIDs at boot. Neither qdl.js nor abctl in Void swap the GUIDs on changing slots. Thus the reason it didn't boot on slot B, after flashing the gpts from firmware and switch to slot B.

edl does GUID swap.

Proper fix in commaai/qdl.js#127

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.

1 participant