Recently I was integrating Mender into QutiPi’s Linux distribution. I came across a problem that when booting U-Boot was displaying a range of terminal message as it was checking for OTA updates. This was not acceptable due to the primary purpose of the QutiPi project.
After a bit of googling I found that by setting the environment variable below you could silence not only uboot but the kernal as well.
fw_setenv silent 1
However for the Raspberry Pi implementation in U-Boot this does not work. As it turns out the the above only works when certain settings are defined when compiling U-Boot. For some SoCs these are defined and for others they are not.
To fix this problem for all versions of the Raspberry Pi you need to add:
CONFIG_DISABLE_CONSOLE=y
CONFIG_SILENT_CONSOLE=y
CONFIG_SILENT_CONSOLE_UPDATE_ON_RELOC=y
CONFIG_BOOTDELAY=0
CONFIG_SYS_DEVICE_NULLDEV
To the following files:
- configs/rpi_0_w_defconfig
- configs/rpi_2_defconfig
- configs/rpi_3_32b_defconfig
- configs/rpi_3_defconfig
- configs/rpi_defconfig
However, even after this, the problem persisted. To finally fix the problem add the following to board/raspberrypi/rpi/rpi.c
int board_early_init_f(void)
{
gd->flags |= (GD_FLG_SILENT | GD_FLG_DISABLE_CONSOLE);
return 0;
}
My git patch for the above.