Modern appliances are complex machines with processors, operating systems, and application software. While there are books that will tell you how to run Linux on embedded hardware, and books on how to build a Linux application, Linux Appliance Design is the first book to demonstrate how to merge the two and create a Linux appliance. You'll see for yourself why Linux is the embedded operating system of choice for low-cost development and a fast time to market.
Linux Appliance Design shows how to build better appliances-appliances with more types of interfaces, more dynamic interfaces, and better debugged interfaces. You'll learn how to build backend daemons, handle asynchronous events, and connect various user interfaces (including web, framebuffers, infrared control, SNMP, and front panels) to these processes for remote configuration and control. Linux Appliance Design also introduces the Run-Time Access library, which provides a uniform mechanism for user interfaces to communicate with daemons.
Learn to: Separate your user interfaces from your daemons Give user interfaces run time access to configuration, status, and statistics Add professional network management capabilities to your application Use SNMP and build a MIB Build a web-based appliance interface Build a command line interface (CLI) Build a framebuffer interface with an infrared control as input Manage logs and alarms on an appliance Companion CD includes a prototype appliance-a home alarm system-that supports the book's lessons.
Bob Smith, John Hardin, Graham Phillips, and Bill Pierce have experience in embedded systems, commercial Linus and BSD appliances, network management systems, and designing software solutions for business problems.
Bob Smith et al., Linux Appliance Design: A Hands-On Guide to Building Linux Appliances (No Starch, 2007)
Linux Appliance Design is not, for the most part, a bad little book, but it is structurally unsound in one major way. I realize this is a quirk of mine more than anything, and most people who want to read about this sort of thing probably won't mind it, but it bugs me in a major way whenever I encounter it: instead of getting into the nuts and bolts of some parts of the software, the authors chose to go with a ready-made API, and so much of the book's software instruction involves programming that API rather than building something from scratch. If that doesn't bother you, then go right ahead and grab a copy of this. If you'd rather not use someone else's software, on the other hand, the hardware parts of this will be useful, but for the software parts, you'll have to look somewhere else. Not nearly as good-- or comprehensive-- as it could have been. ***