Embedded Linux development when you’re creating applications is much less about kernel development and more about kernel configuration. Because hardware vendors have a vested interest in making sure Linux is ready for their hardware the day it ships, the days of a developer on an embedded project porting a kernel for a board has become a thing of the past. A typical embedded developer needs to know how the kernel project works but doesn’t spend time doing in-depth kernel hacking like in the days of yore.
This explains the kernel project layout and how to build the kernel for your board. If you’re changing the kernel and want to make your changes part of the Linux project, a section explains the kernel development process, how to make a patch, and the steps necessary to get your changes accepted into the mainline kernel build. If you receive a patch, a section reviews how to apply it to your current kernel code.
The kernel project is complex, but the complexity is tempered with good organization and a well defined process for building and development. Compared to other open-source project, the kernel is very well engineered for cross-building; you should have very few problems getting the kernel to build for your target platform.