Linux Appliance Design

A Hands-on Guide to Building Linux Appliances
by Bob Smith, John Hardin, Graham Phillips, and Bill Pierce

April 2007, 356 pp.
ISBN: 978-1-59327-140-4
Contents | Reviews | Updates

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

About the Author

Bob Smith, John Hardin, Graham Phillips, and Bill Pierce have experience in embedded systems, commercial Linux and BSD appliances, network management systems, and designing software solutions for business problems.

Table of Contents

Chapter 1: Appliance Architecture
Chapter 2: Managing Daemons
Chapter 3: Using Run-Time Access
Chapter 4: Building and Securing Daemons
Chapter 5: The Laddie Alarm System: A Sample Appliance
Chapter 6: Logging
Chapter 7: Laddie Event Handling
Chapter 8: Designing a Web Interface
Chapter 9: Designing a Command Line Interface
Chapter 10: Designing a Front Panel Interface
Chapter 11: Designing a Framebuffer Interface
Chapter 12: Infared Remote Control
Chapter 13: Hands-On Introduction to SNMP
Chapter 14: Designing Your SNMP MIB
Chapter 15: Implementing Your SNMP MIB
Appendix A: RTA Reference
Appendix B: A Review of SNMP
Appendix C: Installing a Framebuffer Device Driver
Appendix D: A DB-to-File Utility
Appendix E: The Laddie Appliance Bootable CD



Linux Appliance Design "allows us to know our hidden enemies and build better appliance mousetraps...Graphically pleasing, the condensation of four worthy Engineers' experience, the book is truly a delight to read for those interested in stepping into the Linux Appliance Design fray."
Free Software Magazine, August 23, 2008 (Read More)

"If you have a Linux system, then Linux Appliance Design will prove an invaluable, indispensable, thoroughly 'user friendly' instruction and reference manual for getting the most out of your do-it-yourself designer software."
Midwest Book Review, (Read More)

"If you are interested in the higher level architectural concerns of how to implement the software of an appliance you will find much of interest [in Linux Appliance Design]. It’s a well written book with a sense of humour."
VSJ, June 2008

"How about building your own Linux appliance to conquer the world? [Linux Appliance Design] is a fantastic resource for people who tinker with specialized devices for home automation, multimedia, networking, or web surfing."
Linux Magazine, June 2008

"Overall Linux Appliance Design is a well-written, detailed and thorough book with a lot of information."
Slashdot, April 30, 2008 (Read More)

"If you've ever had the desire to construct a Linux appliance of your own, whether it's for your own personal use to a device you're going to market, Linux Appliance Design is a must have."
Ars Geek, April 26, 2008 (Read More)