Linux appliance design: a hands-on guide to building Linux applications
1593271409, 9781593271404, 1593270895, 9781593270896
Modern appliances are complex machines with processors, operating systems, and application software. While there are boo
299
2
5MB
English
Pages 388
Year 2007
Report DMCA / Copyright
DOWNLOAD PDF FILE
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