4

The Kernel

As mentioned previously, the Android system uses a Linux kernel. The Linux kernel is a very large and extremely complex piece of software. Some developers spend their entire careers understanding and modifying it. It is the subject of many books, including the excellent Building Embedded Linux Systems, 2nd ed. (Yaghmour, 2008) and Linux Device Drivers, 3rd ed. (Corbet, 2005). This chapter is not, of course, a substitute for any of those books—or for a few years of experience.

Bringing up a kernel for a brand new device—setting up a build environment, choosing the correct compilation flags, and getting all the necessary drivers debugged and working—is a dark art that is likely to require a significant investment of time. A developer ...

Get Inside the Android OS: Building, Customizing, Managing and Operating Android System Services now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.