Uboot in filesystem partition or raw location

I am following a driver development class for BBB on edemy that walks you through how to compile a linux kernel and update it so you can develop drivers for the beaglebone black. However, while following the course I used newer versions of the BBB kernel source 5.10 rather then his 4.14 version and my kernel would not boot. So I started looking into how the BBB boots into u-boot and then into the kernel. I started to get confused with the various methods of updating u-boot, the kernel (uImage) and the link between them and the root file system.

In my course and in other locations they use a small “boot” partition and seem to simply copy files, u-boot.bin, MLO, uImage, uEnv.txt etc. onto that partition. In other areas, (DOS partition trouble - #6 by William_Hermans, Repartitioning 4GB Beaglebone Black eMMC flash | Soukthavy Sopha) they talk about putting MLO and u-boot.bin in a raw non-partitioned space. It then seems to boot a kernel that is on the root filesystm.

Can someone point me to documentation or information to help me understand these options and how u-boot can launch a uImage on the same partition as it or a kernel stored in the root file system?

Please excuse my ignorance of these as i have tried to research these things but I am not seeming to understand a coherent message from all the information on the web.

This is not an exactly an answer to your question, but I used https://www.itdev.co.uk/blog/building-linux-kernel-cross-compiling-beaglebone-black as a tutorial to compile Kernel 5.4. and deploy it on a BBB without issue.

The writer presents a self admittedly hamfisted way to deploy the newly compiled Kernel, but it worked well for me and allowed me to create my own driver. Again, nothing about u-boot, but it might help you if you just want to get to the next step.

Thank you, I did see that before and will ahve to give it a try