Linux Appliance Design

There should be an image here!Modern appliances are complex machines, with processors, operating systems, and application software. While there are books that describe 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 to create a Linux appliance.

Linux is the embedded operating system of choice for low-cost development and fast time to market. Linux Appliance Design shows how to use Linux to build better appliances-appliances with more types of interfaces, more dynamic interfaces, and better debugged interfaces. Readers learn how to build backend daemons, handle asynchronous events, and connect various user interfaces (including Web, frame buffers, infrared control, SNMP, and front panels) to these processes for configuration and control. Linux Appliance Design also introduces the Runtime Access library, which provides a uniform mechanism for user interfaces to communicate with daemons.

The bundled CD includes a prototype appliance-a home alarm system-that supports the book’s lessons. It uses a liberal BSD style license, which allows readers to use it as the basis for their own appliances.

“We’re continuing to feed the growing hunger for Linux content in the marketplace,” said No Starch Press publisher and founder Bill Pollock. “Linux is very well suited for use in appliances, but it’s difficult to find engineers who know how to combine both the hardware and software. This book distills the work and experience of four engineers into one very compelling volume.”

Readers learn how to:

  • Separate user interfaces from daemons
  • Give user interfaces run time access to configuration, status, and statistics
  • Add professional network management capabilities to applications
  • Use SNMP and build an MIB
  • Build a Web-based appliance and a command line interface (CLI)
  • Build a framebuffer interface that uses an infrared control as input
  • Manage logs and alarms on an appliance

[tags]linux, cli, command line interface, snmp, mib[/tags]