Raspberry pi4 with custom hat

I need some help understanding how to get mender to work with a raspberry pi 4 and a hat that uses uart, which I guess is the problem. I get everything to work with mender-converter as long as I don’t have my card plugged in, if it is plugged in I just get a black screen and it doesn’t seem to load anything. If I unplug it it boots up as it should. And after some troubleshooting I interpret it as something with the fact that I have a chip that is connected to uart on BCM pin 14/15 that might be causing it and that you have to do something extra with u-boot. However, I can’t find anything that says what to do and how. Does anyone have any description of what to do or have an idea?

Hi @davrex,

Some time ago I also had a similar situation. In the specific case, patching u-boot to be “silent” helped. The reasoning is that if such a hat generates some input or spurious character on the UART, u-boot will stop booting and wait forever. During my testing, I used this state of u-boot: GitHub - TheYoctoJester/uboot-mender at mender-rpi-2024.04-silent. Unfortunately I’m not certain if it is fit for general usage, or if the silencing patch might have any unintended side effects. As custom binaries can be injected through the assets directory, do you feel comfortable with giving it a spin or do you need additional details?

Greetz,
Josef

Hi, if you have some extra details it won’t hurt. As I not that expreined in thus types of Linux customizations

Hi, this is what i have tried.

make CROSS_COMPILE=aarch64-linux-gnu- rpi_4_defconfig
make CROSS_COMPILE=aarch64-linux-gnu-

copied the u-boot.bin to kernal7l.img on the boot disk.

Is there anything more i need to do?

Idid realise that i should hav uses arm-linux-gnueabihf- insteed now i get some text on the screen atleast that say

Hit any key to stop autoboot: 0
U-Boot> th0: etoBot h:eoBot h:eoBot h:eoBot h:eoBot h:eoBot h:eoBot h:eoBot .... and aolot more the same

Anybody have a clue that this means ?

Problem is that i dont understand how to build U-boot it seams as when i boot whiout uart conneced and run sudo fw_printenv bootdelay is return =2 and when i set sudo fw_setenv bootdelay – -2 then i can boot.

What i did was add your config to configs/rpi_4_32b_defconfig (CONFIG_BOOTDELAY=-2 and more)
make rpi_4_32b_defconfig
make
with crosscompiler arm-linux-gnueabihf- but why doesent bootdelay be come -2