Building a Linux embedded project is a lot like preparing a meal. You can vary some of the ingredients according to your own tastes, but others must match the recipe for everything to work properly. You should sample (or test) your dishes as you are creating them to make sure the flavors are working together. The final judge isn't you, but your consumer. This paper steps through some of the software choices an embedded developer has to make, and brings up some important points to consider in each step of the process.
Linux, Datalight, OS, RTOS