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

From: Warner Losh <imp_at_bsdimp.com>
Date: Mon, 09 Jun 2025 03:54:17 UTC
On Sun, Jun 8, 2025, 6:27 PM Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net>
wrote:

> On Sun, 8 Jun 2025, Warner Losh wrote:
>
> > 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.
>
> Then it's done because it's in defaults/loader.conf ?
>
> I set splash="" now, which seems to make a difference;  magic not
> working correctly enabling it automatically?
>

We don't enable it by default. So there's another file that's it's set in.
Do you have a loader.conf.local? If setting that helps, something else had
to be setting it...

>> 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.
>
> Had to hard reset it;  with splash="" the error seems to have shifted:
>
> ------------------------------------------------------------------------
> Consoles: EFI console
>      Reading loader env vars from /efi/freebsd/loader.env
> FreeBSD/arm64 EFI loader, Revision 3.0
> (Thu Jun  5 10:57:09 UTC 2025 bz@somearm64)
>
>     Command line arguments: loader.efi
>     Image base: 0x3e5ee000
>     EFI version: 2.110
>     EFI Firmware: Das U-Boot (rev 8229.1024)
>     Console: efi,comconsole (0)
>     Load Path: /\exports\foo01\boot\loader.efi
>     Load Device: ...
>     BootOrder: 0000
> Setting currdev to net0:
>
>
> cLoading kernel...
> /boot/kernel/kernel text=0x318 text=0x9be4e8 text=0x2d7260 data=0x181168
> data=0x0+0x371000 0x8+0x1721a0+0x8+0x1a2cf5-
> Loading configured modules...
> can't find '/boot/entropy'
> can't find '/etc/hostid'
>
> Hit [Enter] to boot immediately, or any other key for command prompt.
> Booting [/boot/kernel/kernel] in 9 seconds...
>
>
> Using DTB provided by EFI at 0x3e6c3000.
> \
> ------------------------------------------------------------------------
>

Does it work with this same kernel booting off another media?

Warner

-- 
> Bjoern A. Zeeb                                                     r15:7