Linux appliance design: a hands-on guide to building Linux applications

Free Download

Authors:

ISBN: 1593271409, 9781593271404, 1593270895, 9781593270896

Size: 8 MB (8881651 bytes)

Pages: 388/388

File format:

Language:

Publishing Year:

Category:

Bob Smith, John Hardin, Graham Phillips, Bill Pierce1593271409, 9781593271404, 1593270895, 9781593270896

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
Companion CD includes a prototype appliance — a home alarm system — that supports the book’s lessons.

Table of contents :
Chapter 1 APPLIANCE ARCHITECTURE
UIs and Daemons
The Architecture of the Laddie Appliance
Summary
Chapter 2 MANAGING DAEMONS
Common Approaches to Managing Daemons
Control and Status Protocols
Summary
Chapter 3 USING RUN-TIME ACCESS
RTA Appliance Architecture
RTA Daemon Architecture
Telling RTA About Your Columns and Tables
Building Your First RTA Program
A Little SQL
Introduction to RTA’s Built-in Tables
The RTA Table Editor
Summary
Chapter 4 BUILDING AND SECURING DAEMONS
How to Build a Daemon
How to Secure a Daemon
A Prototype Daemon
Summary
Further Reading
Chapter 5 THE LADDIE ALARM SYSTEM: A SAMPLE APPLIANCE
Introduction to Alarm Systems
A Functional Specification for Laddie
Laddie’s Hardware Design
Laddie’s Software Design
Building and Testing ladd
Summary
Chapter 6 LOGGING
Do You Need Logging?
Architecture of a Logging System
syslog
On-Demand Logging
Summary
Chapter 7 LADDIE EVENT HANDLING
Rationale for a New Event-Handling System
Features and Capabilities of logmuxd
Configuring logmuxd
Examples Using logmuxd
Summary
Chapter 8 DESIGNING A WEB INTERFACE
Web Basics
Establishing Requirements
Choosing a Webserver
UI Design
Implementation
Improving Our Design
Resources
Summary
Chapter 9 DESIGNING A COMMAND LINE INTERFACE
Why You Need a CLI
Types of CLIs
Giving Users Access to a CLI
The Laddie CLI
Code Review for the test Command
Summary
Chapter 10 BUILDING A FRONT PANEL INTERFACE
Buttons, LEDs, and LCDs
Designing a Front Panel UI
The Laddie Front Panel
Improving Our Design
Summary
Chapter 11 DESIGNING A FRAMEBUFFER INTERFACE
How Video Memory Works
The Linux Framebuffer Device Driver
Graphics Libraries
“Hello, world!” with SDL
Graphical UI Toolkits
The Laddie Framebuffer UI
Summary
Chapter 12 INFRARED REMOTE CONTROL
Communicating with Infrared Light
Hardware for Remote Control Receivers
Installing and Configuring LIRC for the Laddie Appliance
Summary
Chapter 13 HANDS-ON INTRODUCTION TO SNMP
A Quick Note on Terminology
The Software
Installing SNMP
Exploring with SNMP
Writing Values with SNMP
SNMP Traps
Summary
Chapter 14 DESIGNING AN SNMP MIB
Our Goal
Your Enterprise Number
The MIB Files
LADDIE-GROUP-SMI
Creating the LAD-MIB
Validating Your MIB
Summary
Chapter 15 IMPLEMENTING YOUR SNMP MIB
The Net-SNMP Agent
The MIB Skeleton: mib2c
The Header File: ladProject.h
The Code File: ladProject.c
Makefile Revisited
Debugging
Traps
Summary
Appendix RTA REFERENCE
Overview of RTA
RTA Constants
Data Structures
API Subroutines
SELECT and UPDATE Syntax
Internal RTA Tables
Debug Configuration
Error Messages
Callback Routines
Appendix REVIEW OF SNMP
Why SNMP?
Agents and Managers
Namespace, Grammar, and Protocol
The MIB
The OID
MIB-2
The SMI
The SNMP Protocol
SNMPv1, SNMPv2, and SNMPv3
SNMP Data Types
SNMP Tables
Defining New Types
Structure of a MIB File
Summary
Appendix INSTALLING A FRAMEBUFFER DEVICE DRIVER
Finding Framebuffer Device Drivers for Your Video Card
Configuring the Framebuffer Device Driver
Appendix A DB-TO-FILE UTILITY
Overview
Table Definitions
A tbl2filed Example
Security Notes
Appendix THE LADDIE APPLIANCE BOOTABLE CD
Running the Laddie Appliance
Exploring the CD Contents
Rebuilding the Laddie Appliance

Reviews

There are no reviews yet.

Be the first to review “Linux appliance design: a hands-on guide to building Linux applications”
Shopping Cart
Scroll to Top