Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
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.
Would you recommend the product? yes | Price you paid?: None indicated | Rating: 9
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 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.