I'd very much recommend checking out Mastering Embedded Linux Programming from Packt. Helped me out a ton and takes you through all of the fundamentals, from toolchains, bootloaders, device trees, kernel, and filesystem. Plus it has two dedicated sections just for Yocto and Buildroot, the two dominant embedded linux environments, as well as many examples through every section for testing and experimenting with Beaglebone hardware.