Development in U-Boot and the Linux kernel is usually done externally to Yocto, as they are easy to build using a toolchain, like the one provided by Yocto.
The development work is then integrated into Yocto in one of two ways:
bbappendfiles. This method will build the same source as the reference design board we are using as base, and apply our changes over it.
bbappendfile to point the recipe to it. This way, we can directly commit the changes to the repository and the Yocto build system will build them.
Usually a forked Git repository ...