Re: Loading splash ok -> <reset>, how to debug?

From: Warner Losh <imp_at_bsdimp.com>
Date: Sun, 08 Jun 2025 18:01:14 UTC
On Sun, Jun 8, 2025 at 11:46 AM Bjoern A. Zeeb
<bzeeb-lists@lists.zabbadoz.net> wrote:
>
> On Sun, 8 Jun 2025, Warner Losh wrote:
>
> > On Sun, Jun 8, 2025, 10:08 AM Tomek CEDRO <tomek@cedro.info> wrote:
> >
> >> On Sun, Jun 8, 2025 at 5:10 PM Bjoern A. Zeeb
> >> <bzeeb-lists@lists.zabbadoz.net> wrote:
> >>> Hi,
> >>> is there any good way to debug early kernel kabooms (or maybe efi loader
> >>> handover) without JTAG in place?
> >>> I have a SoC using U-Boot and often after a cold start it goes like
> >>> this:
> >>> ------------------------------------------------------------------------
> >>> Hit [Enter] to boot immediately, or any other key for command prompt.
> >>> Booting [/boot/kernel/kernel]...
> >>> Using DTB provided by EFI at 0x3e6c3000.
> >>> Loading splash ok
> >>> <reset>
> >>> ------------------------------------------------------------------------
> >>> Once it's been looping for a few iterations eventually it starts
> >>> booting.
> >>> Given there is zero output of the error, is there aything one could try
> >>> to do to debug this (remotely)?
> >>> I can netboot it and change laoder/kernel.
> >>
> >> DDB?
> >> https://docs.freebsd.org/en/books/developers-handbook/kerneldebug/#kerneldebug-online-ddb
> >>
> >> KGDB?
> >> https://docs.freebsd.org/en/books/developers-handbook/kerneldebug/#kerneldebug-online-gdb
> >>
> >> over the Serial Port? :-)
> >>
> >
> > I think he's not even getting to the handoff. Best to toss out all
>
> hmm..
>
> > graphical things that are configured and see if that gets us to the handoff
> > point... get rid of the splash screen first of all..
>
> How?  I do not have boot_mute="YES" set.

By not configuring the splash screen. We wouldn't be loading it if it
wasn't configured.

> I tried setting console to just efi manually; that didn't help. Also on
> first attempt I got an error, typing it again worked (but I didn't
> re-validate).

OK. efi is the default console, so it's not surprising it didn't
change anything.

> I have the following in loader.conf and I tried various combinations without
> success to see ... I also tried to fdt ls to make sure fdt is all right
> and there...
>
> ----------------------------------------
> boot_verbose="-v"
> debug.kdb.alt_break_to_debugger=1
> beastie_disable="YES"
> ----------------------------------------
>
> Do we have a way to validate in loader if a kernel loaded into memory is
> correct?  I was wondering if the kernel was corrupted...

It's not. Or rather, the data you've given doesn't show the kernel
loading in the detail that should be there. But yea, if the kernel is
corrupt, all bets are off.

Can you just post the entire log from when the boot loader starts to
the error? That will end all ambiguity.

Warner

> --
> Bjoern A. Zeeb                                                     r15:7