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.