Review your favorite Linux distribution.
Go Back > Reviews > Books > Programming
User Name


Search · Register · Submit New Review · Download your favorite Linux Distributions ·

Linux Appliance Design
Reviews Views Date of last review
1 43005 08-04-2007
Recommended By Average Price Average Rating
100% of reviewers None indicated 9.0

Description: Full title: Linux Appliance Design: A Hands-On Guide to Building Linux Appliances

Authors: Bob Smith, John Hardin, Graham Phillips, Bill Pierce

From the cover:
Modern appliances are complex machines, with processors, operating systems, and application software. While there are books that 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 to create a Linux appliance. You'll see for yourself why Linux is the embedded operating system of choice for low-cost development and 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, infared control, SNMP, and front panels) to these processes for remote configuration and control. Linux Appliance Design also introduces the Runtime Access Protocol, which provides a uniform mechanism for user interfaces to communicate with daemons.
Keywords: embedded design
Publisher: No Starch Press
ISBN: 978-7-59327-140-4

Post A Reply 
Old 08-04-2007, 11:21 AM   #1
Registered: Feb 2002
Distribution: Debian
Posts: 9,578

Rep: Reputation:
Would you recommend the product? yes | Price you paid?: None indicated | Rating: 9

Pros: learns how to build a well-designed device

It is always interesting to check how other people are solving the fame problems you face. You can learn new tricks or a different approach. That's the role the book 'Linux Appliance Design' would play for the developers of embedded Linux devices. It's also worth reading for developers with experience on different platforms, so they can see what can be Linux used for and what tools are available. It would be also a good addition for those starting with embedded devices to learn to think about design, before it's too late.

But let's start from the beginning. When I first opened the book, I wasn't sure what to expect. At first, I was disappointed, because the book really starts (after two short intro chapters) from a chapter (3) about PostgreSQL-based protocol and access library (called RTA) for all user interfaces. What's bad in that? Well, nothing if you think about PCs, but for many devices it'd be simply too bloated and may lead to slow responses. Apart from the performance issues, the interface fits well with the rest of the design the authors present. When you read further, it makes sense. Many developers would drop the book at that point, however. The chapter should be moved to a later part of the book, especially as the later chapters do not make big use of the RTA library.

After such an intro, the next chapter pleased me, as it is about secure daemons. Not very long, but covers everything that should be covered.

The next three chapters (5 to 7) cover the appliance itself (simple alarm system) with a well-written hardware part, logging (syslog) and event handling.

From that point the book moves to user interfaces. That makes more than a half of book, but the number of interfaces is impressive: web, command-line, front panel, framebuffer, infrared and SNMP. That's also the place where single access for all the interfaces (RTA) shows its' strength.

The chapter about web interface starts from choosing the right daemon. Then it moves to the interface implementation, using PHP, JavaScript and AJAX. The performance of such design on an embedded system may be questionable, again. It certainly simplifies the design, however.

The next interface presented is command line. The authors present a simple, yet powerful one.

The next three chapters, about front panel, framebuffer and infrared include some hardware stuff. Again, done well and easy to understand even to those with only limited electronics background. The chapters also show how the process of development look like, what may be a big plus for novice readers.

For the remaining three chapters the authors move to SNMP. The first one is one of the best introductions to the protocol I have read. It makes the protocol seem quite simple, quite the contrary to the reality (that's not a critique of the authors!). The next chapter shows how to create your own MIB (from getting an enterprise number). Finally, the last chapter shows an implementation of MIB using Net-SNMP.

The book finishes with references (RTA library, SNMP, framebuffer driver installation, tbl2filed daemon), an review of the cd contents and an index.

What should be added is that one of the good points of that book is that the authors use already-written code when possible and do not try to reinvent the wheel.

The accompanying cd, that allows to look into the source code or just try and run the applications, is a good addition.


All times are GMT -5. The time now is 07:29 AM.

Main Menu
Write for LQ is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration