There are quite a few books out there
about Linux and about embedded systems in general. Here are a few
titles that you may find useful:
- Advanced Programming in the UNIX Environment, by Richard Stevens (Addison Wesley)
Considered by many as the most important Unix programming book
available. If you need to understand how to think and program in the
Unix mindset, this is the book you need. Stevens'
books are, in general, highly recommended.
- The Art of Designing Embedded Systems, by Jack Ganssle (Newnes Press)
This book's style is different from most other
technical books in that it uses a mix of technical explanations and
practical advice about real-life issues. It captures the essence of
the experiences most embedded system designers have in their
day-to-day work. Jack Ganssle has regular columns in
Embedded Systems Programming magazine and is a
frequent speaker at embedded systems conferences.
- Embedded Systems Design, by Arnold S. Berger (CMP Books)
An introductory text to embedded system design from both the hardware
and the software perspective. If you are not familiar with the
process of developing embedded systems, you will find this book
- Linux Device Drivers, by Alessandro Rubini and Jonathan Corbet (O'Reilly)
The classic text book for understanding how Linux device drivers are
developed. Written by two respected members of the open source and
free software community. A must read for any Linux device driver
- Running Linux, by Matt Welsh, Lar Kaufman, Terry Dawson, and Matthias Kalle Dalheimer (O'Reilly)
This book provides you with all that you need to learn how to install
and use Linux without requiring any prior knowledge of either Linux
or Unix. I've owned a copy of this
book's first edition and have come back to it every
time I forgot how something was done in Linux. A terrific book that
covers much of the background material required to make the best out
of the use of Linux in embedded systems.
- Programming Embedded Systems in C and C++, by Michael Barr (O'Reilly)
This introductory book covers the basics of embedded software
development and offers insight into many of the software tricks used
in developing embedded systems.
- Understanding the Linux Kernel, by Daniel Bovet and Marco Cesati (O'Reilly)
There have been a number of books on the Linux
kernel's internals over the years. This one is
particularily well researched and structured, and has been updated to
cover the current stable version of Linux, 2.4.