Guillaume Tucker <guillaume.tucker@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx> 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] Kevin [1] http://termbin.com/9mm6 [2] http://lava.baylibre.com:10080/scheduler/device/omap3-beagle-xm-sea/devicedict