How does U-Boot change how the kernel is communicating through UART?
I'm trying to add U-Boot to our project. We build a custom Linux 64 bit kernel with initRAM linked into the kernel.
I have access to the U-Boot shell but when I'm trying to boot the uncompressed Image
mmc dev 0
fatload mmc 0:1 ${kernel_addr_r} Image
fatload mmc 0:1 ${fdt_addr} bcm2710-rpi-cm3.dtb
setenv bootargs console=serial0,115200 console=tty1
booti ${kernel_addr_r} - ${fdt_addr}
I get no kernel output after
Starting kernel ...
What confuses me is that if I start the kernel directly through config.txt
I do get the expected behavior.
The kernel command line is in both cases console=serial0,115200 console=tty1
Set either by cmdline.txt
or through boot.scr
.
Is U-Boot changing somehow the routing of the UART's? Why would the kernel have different behavior solely by starting it through U-Boot? Shouldn't U-Boot be completely out of the picture after the kernel is started, thus have no impact on the kernel output?