Yellow screen on meta-mender using warrior branch with DISABLE_VC4GRAPHICS + u-boot patch

I experienced a Yellow screen when using the warrior build for Raspberry Pi 3 and Pi 4 when setting DISABLE_VC4GRAPHICS to 1. I set this variable to 1 because tvservice and libcec (hdmi) was not working and this was the only way to get it to work. There is a fix for this yellow issue but it’s not available in the meta-mender repo, see here for the patch Yellow Screen on Raspbian Buster 2019-06-20. Here is a patch for u-boot for the meta-mender layer I made that fixes the yellow u-boot issue:

Copy the file to a new directory meta-mender/meta-mender-core/recipes-bsp/u-boot/u-boot/0001-Disable-addition-of-simple-framebuffer-by-U-boot.patch

From cad2c92cd03558461cc16c6d69035009c153ff61 Mon Sep 17 00:00:00 2001
From: Jorge Corona ikkysleepy@yahoo.com
Date: Tue, 14 Jan 2020 12:46:48 -0800
Subject: [PATCH] Disable addition of simple-framebuffer by U-boot


board/raspberrypi/rpi/rpi.c | 7 -------
include/configs/rpi.h | 3 —
2 files changed, 10 deletions(-)

diff --git a/board/raspberrypi/rpi/rpi.c b/board/raspberrypi/rpi/rpi.c
index 8f964d6…71633b4 100644
— a/board/raspberrypi/rpi/rpi.c
+++ b/board/raspberrypi/rpi/rpi.c
@@ -474,13 +474,6 @@ void *board_fdt_blob_setup(void)

int ft_board_setup(void *blob, bd_t *bd)
{

  •   /*
    
  •    * For now, we simply always add the simplefb DT node. Later, we
    
  •    * should be more intelligent, and e.g. only do this if no enabled DT
    
  •    * node exists for the "real" graphics driver.
    
  •    */
    
  •   lcd_dt_simplefb_add_node(blob);
    

#ifdef CONFIG_EFI_LOADER
/* Reserve the spin table /
efi_add_memory_map(0, 1, EFI_RESERVED_MEMORY_TYPE, 0);
diff --git a/include/configs/rpi.h b/include/configs/rpi.h
index e9c80e2…2033516 100644
— a/include/configs/rpi.h
+++ b/include/configs/rpi.h
@@ -59,9 +59,6 @@
/
Devices /
/
GPIO /
#define CONFIG_BCM2835_GPIO
-/
LCD */
-#define CONFIG_LCD_DT_SIMPLEFB
-#define CONFIG_VIDEO_BCM2835

#ifdef CONFIG_CMD_USB
#define CONFIG_TFTP_TSIZE

Next, make a new file called u-boot_2019.01.bbappend in meta-mender/meta-mender-core/recipes-bsp/u-boot/

FILESEXTRAPATHS_prepend := “{THISDIR}/{PN}:”

SRC_URI += “file://0001-Disable-addition-of-simple-framebuffer-by-U-boot.patch”

I also had to force u-boot to load by adding these lines to my local conf

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

Thanks,
–Jorge

2 Likes

We see the same issue with Yocto Warrior on Raspberry Pi 3 B+, although we don’t disable VC4GRAPHICS.

I couldn’t get the patch to work as is, possibly because Discourse bungled the formatting, so here is the patch regenerated from the original commit if anyone else needs it : https://gist.github.com/guillaumekh/77639b12fb6596d43d12b11f37a59157

2 Likes