Title: Linux Appliance Design: A Hands-on Guide to Building Linux Appliances
Authors: Bob Smith, John Hardin, Graham Phillips and Bill Pierce
Publisher: No Starch Press
Format: Paperback, 356 pages, CD Included
Linux Appliance Design may be the only book around right now that deals exclusively with building a true Linux appliance â€“ that is an embedded computer running Linux and built to perform a specific primary purpose. We’ve all seen Linux appliances in the forms of TiVo, Linux powered phones and such. This is the guidebook that will assist people familiar with Linux and programming in building their own Linux Appliances. As a guide, the authors have created an event triggered alarm system called Laddie which they use as an example in how to build Linux appliances.
Linux Appliance Design is divided into an introduction, 15 chapters, 5 appendices and an index.
The first four chapters are dedicated to a high level overview of Linux appliances, from basic architecture through daemons that control the system, run time access and actually constructing secure daemons.
Chapters 5 through 15 use Laddie as an example to walk the reader through the actual building of a Linux based alarm system. With an introduction to Laddie, through event handling, designing various User Interfaces (UI) including web based, CLI, front panel (LCD) and frame buffer (think tiny screen) UI. The use of infrared remote controls, and SNMP to poll and control your appliance are also covered.
The five appendices include a real time access reference guide, a review of SNMP, guides to installing a frame buffer device, a DBI-to-file utility and a guide to the CD. The CD itself is a bootable instance of Linux which contains everything about Laddie, including the source code and a compiled version of the appliance’s software.
While certainly not for everyone, if you’ve ever had the desire to construct a Linux appliance of your own, whether it’s for your own personal use to as a device you’re going to market, this book is a must have.
You’ll need to have a solid understanding of Linux and coding (C, PHP, HTML) and at least a basic understanding of MySQL before you get very far but if you’ve got the knowledge and the desire this book is a great high level overview of appliance design along with a hands on tutorial which will bring you through the process from start to finish.
The authors have access to a great amount of experience, including successes and mistakes from which they offer the reader a comprehensive overview along with insight as to why they’ve opted to design Laddie (or other appliances) as they’ve done. They’ve covered everything from planning the architecture of a Linux appliance through coordinating the daemons used to run, control and log and the various choices of UI available.
Scattered throughout the book are other useful tips as well. For instance, did you know that an Infrared remote, if tested in front of most camera phones will display (on the camera phone’s screen) a visible beam of light? This can be incredibly helpful in troubleshooting IR issues. It’s also lots of fun to show people.
The code examples that are provided along with the basic electronic schema and the hands on guides to the physical construction of Laddie will certainly prove invaluable to anyone who’s not yet constructed their own appliance. This is learning through doing at it’s best. The authors guide the readers through the process which will result not just in a functioning device but also in the reader gaining both broad and practical understanding of Linux powered devices. There’s a lot of time spent on the process of interacting with daemons through various UI for very good reason as this is where the authors have made many of their previous mistakes and have learned from them. They’re attempting to spare the reader this pain and the knowledge gained here can be applied to any project featuring multiple means of users control with ease.
If you’re truly curious about what’s under the hood of your TiVo or have been engaged in the process of building embedded computers or other Linux devices this book will be a great resource for you. If you’re moderately curious you’ll pick up both a high level and a low level understanding of what goes into designing and building an appliance.