The reason why uboot-raspberrypi and linux-rpi4 conflict is because they each provide a file thet gets run by the Raspberry Pi’s firmware on boot (eg. the kernel8.img image). So they can’t be installed at the same time.
Using u-boot is not recommended, as far as I know. But I have heard/read of people using uboot and our linux package together. You might need to change the content of /boot/config.txt and /boot/cmdline.txt for that to work though. But I am not sure.
Thanks for your explanation, I will study the issue more.
yes, I was looking into /boot/cmdline.txt option but found the below changes to resolve the issue.
diff --git a/uboot-raspberrypi.install b/uboot-raspberrypi.install
index e6fdb7a..aa7f8ea 100644
--- a/uboot-raspberrypi.install
+++ b/uboot-raspberrypi.install
@@ -10,6 +10,7 @@ post_install() {
# FDT, just let Uboot to pass the modified fdt to kernel
echo "LABEL Manjaro ARM
KERNEL /Image
+FTD /dtbs/broadcom/bcm2711-rpi-4-b.dtb
APPEND initrd=/initramfs-linux.img console=ttyAMA0,115200 root=LABEL=ROOT_MNJRO rw rootwait audit=0 usbhid.mousepoll=8" > /boot/extlinux/extlinux.conf
fi
}
Yes I feel raspberry pi firmware has its dtb file precompiled and is used to load the RPI image
by parsing the config.txt,
But with u-boot device tree changes are passed to the kernel while booting that is what I feel.
The boot order on the raspberry pi with u-boot are as follows:
MaskROM → RPI firmware → U-boot → Kernel.
So the firmware should still be passing the DTB to the kernel, if you have u-boot or not. But yes, you still need to have the DTB in /boot for that to happen, which is why our u-boot package downloads dtbs from raspberry pi’s github and places them there.