Files
AXP-Resurection/docs/007-debug-boot-panic-screen.md
T
sunfish-admin 12d2179c20 AXP Magisk resurrection track: Speckit 009 port AXP/LOS22 to LOS23.
Ship Magisk like GOLDEN; KernelSU optional recycle only; parallel to sunfish-a16-rom standby.
2026-09-16 21:56:22 +00:00

61 lines
2.4 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.
# 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.