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

2.4 KiB
Raw Blame History

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:
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
  1. 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.

  2. Build bootimage, name artifact boot-resukisu-susfs-DEBUG-YYYYMMDDTHHMMSSZ.img.

  3. 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.