Files
AXP-Resurection/docs/007-debug-boot-panic-screen.md
T
sunfish-adminandCursor 2d145c2878 009: Polish bacon fixes, OTA host scripts, and migration docs.
Restore disable_configstore, EuiccDisabler and thermal CDEV guards, branding
and rebuild/sync helpers; document device roles, laptop migration, and Gitea.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-16 21:06:45 +02:00

65 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- Status: parallel KernelSU track — see docs/007-parallel-on-009.md -->
> **Status: parallel KernelSU / SusFS track** (kept). Bridge to current Magisk ROM: [`007-parallel-on-009.md`](007-parallel-on-009.md). Magisk ship resume: [`009-handoff-20261008.md`](009-handoff-20261008.md).
# Debug boot — freeze on panic (photo / dump)
Normal sunfish kernel: `CONFIG_PANIC_TIMEOUT=5` + often
`CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC` → reboot in seconds. Console is
**UART only** (`console=ttyMSM0`); `# CONFIG_VT is not set` → **no Oops text
on the phone display** (you only see the Google logo loop).
## What a “debug boot” must include (owner)
For a useful photo, **both** are required — freeze alone is not enough:
1. **Freeze:** `CONFIG_PANIC_TIMEOUT=0` + cmdline `panic=0`; disable
`CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC` so it does not reboot in 5s.
2. **On-screen console:** `CONFIG_VT` + `CONFIG_FRAMEBUFFER_CONSOLE` (+
`console=tty0` in cmdline). Without this, you only see the Google logo.
| Goal | Mechanism | Photo-able? |
|------|-----------|-------------|
| Stop reboot loop | `panic=0` / `PANIC_TIMEOUT=0`, no wdog-bite-on-panic | Logo freezes only |
| Oops on screen | VT + FRAMEBUFFER_CONSOLE + `console=tty0` | Yes if panic after FB; early may still be logo |
| Dump after hang | Freeze + penúltimo + immediate `klog`/`logfs` dd | Not a photo |
Use **only on LAB**, SusFS/debug trials. Never ship as daily boot.
Next SusFS debug build after the sigfix trial must enable **both**.
## Host recipe (LAB SusFS debug boot)
1. Defconfig fragment (or temporary edits) on `rom-dev01`:
```text
CONFIG_PANIC_TIMEOUT=0
# CONFIG_QCOM_FORCE_WDOG_BITE_ON_PANIC is not set
# optional on-screen console (experimental on Pixel 4.14):
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
```
2. Cmdline (device tree or unpack/repack boot): add `panic=0` and optionally
`console=tty0`. Prefer a **vendor_sunfish / BoardConfig** override gated by
a make var (e.g. `SUNFISH_KERNEL_PANIC_DEBUG=1`) so normal bacon stays clean.
3. Build `bootimage`, name artifact
`boot-resukisu-susfs-DEBUG-YYYYMMDDTHHMMSSZ.img`.
4. Flash only to `boot_b`; keep penúltimo on `boot_a`. On hang: photo if text
appears; Vol−+Power → `--set-active=a`.
## Capture order (always)
1. Panic / hang on SusFS (debug) slot
2. Fastboot **before** Android success on good slot
3. Then penúltimo + immediate `dd` of `klog`/`logfs` (4a has no `fastboot fetch`)
## Status
Documented 2026-09-16 after SusFS early `kernel_panic` with empty Oops in klog.
Sigfix rebuild may already address root cause; keep this recipe for the next
opaque bootloop.