Skip to content

Batch 2: super space, missing partitions, USB check - #8

Merged
ifoknr merged 2 commits into
masterfrom
batch-2
Oct 9, 2026
Merged

ifoknr merged 2 commits into
masterfrom
batch-2

Conversation

@ifoknr

@ifoknr ifoknr commented Oct 9, 2026

Copy link
Copy Markdown
Owner

Summary

  • Super space (SuperSpace in Core): super size (from super-partition-name), logical partitions split into current slot, other slot, COW and unslotted, aligned to 1 MiB with room kept for metadata. A card on the Device → Partitions tab shows it in fastbootd.
  • Room check before flashing (fastbootd): a single logical partition flash (sparse images counted at their written size) and an OTA flash are checked to fit at the fullest point of the writes. When they don't, the app says by how much and what could make room (the other slot's partitions, COW / a pending update) and asks.
  • Missing partitions (MissingPartitions in Core): logical partitions an OTA writes but the phone lacks are created with create-logical-partition NAME 0 after extraction and before flashing, with a note on fastbootd's default group. The manual Create window shows the same note.
  • USB check (UsbDiagnosis in Core, UsbScan over WMI in the app, System.Management package): finds missing/broken drivers with install steps, Qualcomm EDL (9008), MediaTek BROM/preloader, Unisoc and Samsung download modes, and phones in Android (offers adb reboot bootloader).

Tests

  • Core: SuperSpaceTests, UsbDiagnosisTests: 172 passing.
  • CI screenshots:
    • the fake phone has no odm, so the OTA flash must create odm_a before the first flash;
    • a 12 GiB sparse image (40 bytes on disk) must be refused for lack of room;
    • the USB check reads a stand-in device list.

🤖 Generated with Claude Code

https://claude.ai/code/session_018ZnrQUTw6hd6BgdooEqhkR


Generated by Claude Code

claude and others added 2 commits October 9, 2026 05:06
- Super space (Core SuperSpace): super size from super-partition-name,
  logical partitions split by slot, COW and unslotted, aligned to 1 MiB
  with room kept for metadata. A card on the partition tab shows it in
  fastbootd. Before flashing a logical partition, or an OTA, the images
  are checked to fit at the fullest point of the writes; when they do
  not, the app says by how much and what could make room.
- Missing partitions (Core MissingPartitions): logical partitions an OTA
  writes but the phone lacks are created in fastbootd
  (create-logical-partition NAME 0) after extraction and before
  flashing, with a note on fastbootd's "default" group. The manual
  Create window carries the same note.
- USB check (Core UsbDiagnosis, app UsbScan over WMI): finds phones
  without a driver or with a broken one, Qualcomm EDL, MediaTek
  BROM/preloader, Unisoc and Samsung download modes, and phones in
  Android, which it offers to reboot to the bootloader.
- CI: the stand-in phone has no odm, so the OTA flash creates it; a
  12 GiB sparse image is refused for lack of room; the USB check reads
  a stand-in device list.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_018ZnrQUTw6hd6BgdooEqhkR
@ifoknr
ifoknr merged commit 71bc5b2 into master Oct 9, 2026
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