Re: mainline/master boot bisection: v4.19-12838-g71e56028173b on beagle-xm

Olof Johansson
2018-11-09T00:32:07Z

On Thu, Nov 8, 2018 at 2:34 PM Kevin Hilman <khilman@baylibre.com> wrote:
>
> Guillaume Tucker <guillaume.tucker@collabora.com> writes:
>
> > On 06/11/2018 10:54, Guillaume Tucker wrote:
> >> On 05/11/2018 14:33, Olof Johansson wrote:
> >>> On Mon, Nov 5, 2018 at 1:43 AM Guillaume Tucker
> >>> <guillaume.tucker@collabora.com> wrote:
> >>>>
> >>>> Hi Linus,
> >>>>
> >>>> Please see below, the kernelci.org automated boot bisection found
> >>>> that the OMAP3 BeagleBoard-xM is failing to boot with SMP
> >>>> disabled and PREEMPT enabled in multi_v7_defconfig. There is no
> >>>> log output after the bootloader so the kernel seems to be
> >>>> crashing very early on.
> >>>
> >>> Can you enable DEBUG_LL to capture what goes wrong?
> >>
> >> Yes I've scheduled a re-run of the automated bisection with
> >> DEBUG_LL turned on, but the beagle-xm board is currently offline
> >> in lab-baylibre. I'll keep you posted when I get some results.
> >
> > Unfortunately, enabling the DEBUG_LL config didn't help. There's
> > still no visible kernel log at all from the failing LAVA jobs:
> >
> > http://lava.baylibre.com:10080/scheduler/alljobs?length=25&search=lava-bisect-9638#table
> >
> >
> > This might be a hard one to debug without physical access to the
> > board, but please let me know if you think there's anything else
> > I can try. For example, if there's a known older kernel revision
> > where the combination of SMP=n and PREEMPT=y worked then I could
> > try to run an automated boot bisection based on that.
>
> The reason DEBUG_LL doesn't show anything is because it also needs
> a specific UART enabled for the output. For the case of beagle-xm, it
> needs CONFIG_DEBUG_OMAP3UART3=y also.
>
> It did that locally, and the error on the console is this:
>
> Error: invalid dtb and unrecognized/unsupported machine ID
> r1=0x0000060a, r2=0x00000000
> Available machine support:
>
> Upon closer inspection, the load addrs are such that it appears the DTB
> is getting overwritten during zImage compression.
>
> So bascially, it's just an (un)lucky fluke that CONFIG_PREEMPT=y changed
> the kernel size just enough to cause this problem.
>
> I did a local test (with pyboot, not LAVA) with all the same load
> addresses, but without initrd_high and fdt_high, and it boots fine[1]
>
> Guillaume, I think the proper solution is to fixup the LAVA device-type
> for beagle-xm. In particular, it's setting the u-boot variables
> 'initrd_high' and 'fdt_high' which means it's not letting uboot move
> them.
>
> Looks like that can be overridden in the device-dict using
> "set base_high_limits = false", so I've done that now to this device[2]

Argh, I remember hitting these issues a few times through the years.
Thanks for finding the problem, Kevin.

-Olof