Boot failures
Kernel does not boot with a black screen or no serial output
Check first:- Confirm the serial console is configured (
console=ttyMSM0,115200n8in the kernel command line). - Verify
efi.binwas flashed successfully by re-runningfastboot flash efi efi.binand check forOKAYresponses. - Erase RPMB area in case its persistent state carrying EFI variables is corrupted or misaligned:
- Add
earlyconto the kernel command line to get output before the UART driver initialises.
Kernel panic at boot
A kernel panic during boot produces a call stack on the serial console. Capture it and identify the faulting function:Device tree issues
DTB authentication failure
UEFI firmware authenticates the DTB before passing it to the kernel. An authentication failure prevents the kernel from receiving any device tree. Log signature:dtb.bin that matches the current signing
key provisioned on the device. Ensure efi.bin and dtb.bin are from the same
build.
DTB not found
-
Verify the DTB is included in the packaged
dtb.bin: if using legacy concatenated dtb packaging:if using FIT-based packaging: -
Check that the board DTS file is listed in
KERNEL_DEVICETREEin the Yocto machine configuration. -
Reflash
dtb.bin:
Verify which DTB was loaded at runtime
After a successful boot, confirm the correct device tree was loaded:DTB identification during boot
Refer common dtb issues for more information on device tree identification.Module load failures
Invalid module format showing vermagic mismatch
vermagic string embedded in the .ko
file does not match.
Diagnose:
KERNEL_SRC,
same defconfig and fragments) that produced the running kernel image. If using
Yocto, rebuild with bitbake qcom-multimedia-image to keep the module and
kernel in sync.
missing .ko file
obj-m += my_driver.o in the Makefile)
and installed (make modules_install or via Yocto module class).
Module not found and missing from modules.dep
depmod to rebuild the module dependency map after installing new
modules:
Module loads but does not work
Checkdmesg immediately after insmod for probe errors:
For deferred probe, check which devices are still pending:
Serial console not working
If there is no output on the serial console after flashing a new kernel:-
Verify Kconfig:
-
Verify kernel command line:
-
Get early boot messages: Add
earlyconto the kernel command line. This enables output before the UART driver is fully initialised. - Check the cable and baud rate: Confirm 115200 baud, 8N1, no hardware flow control on both the device and the host terminal.
Remoteproc failures
Firmware load failure
/lib/firmware/qcom/<SoC>/:
Capture logs on subsystem crash
To prevent the remoteproc driver from automatically recovering a crashed subsystem (which clears the crash logs), disable recovery before reproducing the crash:.elf file to a host and analyse with the Qualcomm Crash Analysis
Portal (QCAP). For more detail see
Configure the remoteprocessor subsystems.
