When I got started in embedded Linux nearly a decade ago, the question
was, "Should I even use an operating system?" Going with Linux
frequently meant porting the operating system to run on your target
hardware and building to the tools to do so. Much has changed over the
years, to the point that Linux is selected by default for many projects,
and the decisions revolve around what features of the operating system
can be used on the project. The question today is, "How should I
configure my Linux distribution?" In technology terms, this is a seismic
shift in developer attitudes in a very short time frame. Linux is so
pervasive in the embedded space that embedded processors and boards ship
with Linux by default. Buyers simply expect that the board will boot
Linux and they'll have the tools they need for embedded development
provided along with the hardware. Unlike in the early days of Linux, as
a developer, you won't be porting Linux to your board but rather
configuring an already-running Linux kernel and root file system so that
they suit your application.