On 4.2.2021 0.12, Elliott Mitchell wrote:
On Wed, Feb 03, 2021 at 12:55:40PM -0800, Stefano Stabellini wrote:
On Wed, 3 Feb 2021, Jukka Kaartinen wrote:
On 3.2.2021 2.18, Stefano Stabellini wrote:
How are you configuring and installing the kernel?
make bcm2711_defconfig
make Image.gz
make modules_install
?
The device tree is the one from the rpi-5.9.y build? How are you loading
the kernel and device tree with uboot? Do you have any interesting
changes to config.txt?
I am asking because I cannot get to the point of reproducing what you
are seeing: I can boot my rpi-5.9.y kernel on recent Xen but I cannot
get any graphics output on my screen. (The serial works.) I am using the
default Ubuntu Desktop rpi-install target as rootfs and uboot master.
This is what I do:
make bcm2711_defconfig
cat "xen_additions" >> .config
make Image modules dtbs
make INSTALL_MOD_PATH=rootfs modules_install
depmod -a
cp arch/arm64/boot/dts/broadcom/bcm2711-rpi-4-b.dtb boot/
cp arch/arm64/boot/dts/overlays/*.dtbo boot/overlays/
Thanks for the detailed instructions. This helps a lot. I saw below in
boot2.source that you are using ${fdt_addr} as DTB source (instead of
loading one), which means you are using the DTB as provided by U-Boot at
runtime, instead of loading your own file.
With these two copies, I take you meant to update the first partition on
the SD card, the one where config.txt lives, right? So that Xen is
getting the DTB and overlays from the rpi-5.9.y kernel tree but passed
down by the RPi loader and U-Boot?
I think the DTB must be the issue as I wasn't applying any overlays
before. I ran a test to use the DTB and overlay from U-Boot but maybe I
haven't updated them properly because I still don't see any output.
Seeing no graphics output from U-Boot is okay. If the device-tree files
get sufficiently updated you can end up with no output from U-Boot, but
will get output once the Linux kernel's driver is operational (I've seen
this occur).
The most important part is having a HDMI display plugged in during the
early boot stages. Unless the bootloader sees the display the output
won't get initialized and the Linux driver doesn't handle that.
dtoverlay=vc4-fkms-v3d,cma-64
This is odd. My understanding is this is appropriate for RP3, but not
RP4. For RP4 you can have "dtoverlay=disable-vc4" and still get graphics
output (hmm, I'm starting to think I need to double-check this...).
Without the overlay GPU driver (v3d) was not probed. And you need to use
the fakekms.