Linux started as a hobby project in 1991 for a Finnish student, Linus Torvalds. The project has gradually grown and still does, with roughly 1,000 contributors around the world. Nowadays, Linux is a must, in embedded systems as well as on servers. A kernel is a center part of an operating system, and its development is not so obvious.
Linux offers many advantages over other operating systems:
- It is free of charge
- Well documented with a large community
- Portable across different platforms
- Provides access to the source code
- Lots of free open source software
This book tries to be as generic as possible. There is a special topic, device tree, which is not a full x86 feature yet. That topic will then be dedicated to ARM processors, and all those fully supporting the device tree. Why those architectures? Because they are most used on desktop and servers (for x86), and on embedded systems (ARM).
This chapter deals, among other things, with:
- Development environment setup
- Getting, configuring, and building kernel sources
- Kernel source code organization
- Introduction to kernel coding style