Yocto Zeus/Dunfell - disable-bt, miniport-bt = Rainbow Screen of Death

Hardware: Raspberry Pi 3B+ (Andino X1; https://github.com/andino-systems/Andino-X1)
Peripherals: RTC (DS3231), ATmega328p on UART0 (ttyAMA0)

Status:
Warrior = Working
Zeus = Rainbow Screen of Death
Dunfell = Rainbow Screen of Death

I have a Yocto, Raspberry, Mender integration that works fine with the Warrior branch. After upgrading to Zeus or Dunfell, the boot fails and is stuck at the rainbow screen of death. Having ‘disable-bt’ and/or ‘miniport-bt’ in the config.txt results in this.

I have tried the workaround explained at https://github.com/agherzan/meta-raspberrypi/issues/374 and it did not solve my problem.

My layers
/yocto/rmgw-warrior/poky/meta
/poky/meta-poky
/poky/meta-yocto-bsp
/poky/meta-raspberrypi
/poky/meta-openembedded/meta-oe
/poky/meta-openembedded/meta-filesystems
/poky/meta-mender/meta-mender-core
/poky/meta-mender/meta-mender-raspberrypi

  • my own layers that add extra software, enable RTC and change BOOTDELAY

I know that my own layers are not the problem as I removed them all while testing and still resulting in said rainbow.

local.conf (Excerpt)
INHERIT += " rm_work"
INHERIT += " mender-full"

DISTRO_FEATURES_append = " systemd"
VIRTUAL-RUNTIME_init_manager = “systemd”
DISTRO_FEATURES_BACKFILL_CONSIDERED = “sysvinit”
VIRTUAL-RUNTIME_initscripts = “”

MENDER_STORAGE_TOTAL_SIZE_MB = “1024”
MENDER_BOOT_PART_SIZE_MB = “40”
MENDER_DATA_PART_SIZE_MB = “256”

MACHINE = “raspberrypi3”

ENABLE_UART = “1”
RPI_USE_U_BOOT = “1”
IMAGE_FSTYPES = “ext4”

IMAGE_INSTALL_append = " kernel-image kernel-devicetree minicom"
IMAGE_FSTYPES_remove += " rpi-sdimg"

DISABLE_RPI_BOOT_LOGO = “1”
ENABLE_I2C = “1”

MENDER_FEATURES_ENABLE_append = " mender-uboot mender-image-sd mender-growfs-data"
MENDER_FEATURES_DISABLE_append = " mender-grub mender-image-uefi"

SDIMG_ROOTFS_TYPE = “ext4”

CMDLINE = “dwc_otg.lpm_enable=0 rootfstype=ext4 rootwait root=${mender_kernel_root}”
GPU_MEM = “16”
DISABLE_VC4GRAPHICS = “1”
DISABLE_OVERSCAN = “1”
WIREGUARD_COMPAT = “1”

KERNEL_DEVICETREE = "
bcm2710-rpi-3-b-plus.dtb
overlays/i2c-rtc.dtbo
overlays/disable-bt.dtbo
overlays/miniuart-bt.dtbo
overlays/disable-wifi.dtbo
"
CORE_IMAGE_EXTRA_INSTALL += " libunwind icu libcurl openssl"
PACKAGECONFIG_pn-curl = ’ zlib ipv6 ssl’
CORE_IMAGE_EXTRA_INSTALL += " curl"

MACHINE_FEATURES = “rtc”
SERIAL_CONSOLE = “”

Does anyone have an idea what I can do to get this running under Dunfell?

(My current workaround is to use boot from Warrior and Data/Artifact from Dunfell.)

I have nothing concrete to contribute, but basically everything below RPI_USE_U_BOOT = "1" are things that we don’t use in the local.conf when we test Mender in-house. You could try removing some of them to see if things improve.