Building Embedded Linux Systems
O'Reilly Media (Verlag)
978-0-596-00222-0 (ISBN)
- Titel erscheint in neuer Auflage
- Artikel merken
Linux is being adopted by an increasing number of embedded systems developers, who have been won over by its sophisticated scheduling and networking, its cost-free license, its open development model, and the support offered by rich and powerful programming tools. While there is a great deal of hype surrounding the use of Linux in embedded systems, there is not a lot of practical information. "Building Embedded Linux Systems" is a guide to putting together an embedded system based on the Linux kernel. This indispensable book features arcane and previously undocumented procedures for: Building your own GNU development toolchain using an efficient embedded development framework; selecting, configuring, building, and installing a target-specific kernel; creating a complete target root filesystem; setting up, manipulating, and using solid-state storage devices; installing and configuring a bootloader for the target; cross-compiling a slew of utilities and packages; and debugging your embedded system using a plethora of tools and techniques.
Details are provided for various target architectures and hardware configurations, including a thorough review of Linux's support for embedded hardware. All explanations rely on the use of open source and free software packages. By presenting how to build the operating system components from pristine sources and how to find more documentation or help, this book aims to simplify the task of keeping complete control over one's embedded operating system, whether it be for technical or sound financial reasons. Author Karim Yaghmour, a well-known designer and speaker who is responsible for the "Linux Trace Toolkit", starts by discussing the strengths and weaknesses of Linux as an embedded operating system. Licensing issues are included, followed by a discussion of the basics of building embedded Linux systems. The configuration, setup, and use of over 40 different open source and free software packages commonly used in embedded Linux systems are also covered. uClibc, BusyBox, U-Boot, OpenSSH, thttpd, tftp, strace, and gdb are among the packages discussed.
Karim Yaghmour is the founder and president of Opersys Inc. a company providing expertise and courses on the use of open source and free software in embedded systems. Being himself an active member of the open source and free software community, Karim has firmly established Opersys's services around the core values of knowledge sharing and technical quality promoted by this community. As part of his community involvement, Karim is the maintainer of the Linux Trace Toolkit and the author of a series of white-papers that led to the implementation of the Adeos nanokernel, which allows multiple operating systems to exist side-by-side. Karim's quest for understanding how things work started at a very young age when he took it upon himself to break open all the radios and cassette players he could lay his hands on in order to "fix" them. Very early, he developed a keen interest in operating system internals and embedded systems. He now holds a B.Eng. and an M.A.Sc. from the Ecole Polytechnique de Montreal. While everyone was hacking away at Linux, Karim even took a detour to write his own distributed micro-kernel in order to get to the bottom of operating system design and implementation. When not working on software, Karim indulges in his passion for history, philosophy, sociology, and humanities in general. He's especially addicted to essays and novels by Umberto Eco and Gerald Messadie.
Preface 1. Introduction Definitions Real Life and Embedded Linux Systems Example Multicomponent System Design and Implementation Methodology 2. Basic Concepts Types of Hosts Types of Host/Target Development Setups Types of Host/Target Debug Setups Generic Architecture of an Embedded Linux System System Startup Types of Boot Configurations System Memory Layout 3. Hardware Support Processor Architectures Buses and Interfaces I/O Storage General Purpose Networking Industrial Grade Networking System Monitoring 4. Development Tools Using a Practical Project Workspace GNU Cross-Platform Development Toolchain C Library Alternatives Java Perl Python Ada Other Programming Languages Integrated Development nvironments Terminal Emulators 5. Kernel Considerations Selecting a Kernel Configuring the Kernel Compiling the Kernel Installing the Kernel In the Field 6. Root Filesystem Content Basic Root Filesystem Structure Libraries Kernel Modules Kernel Images Device Files Main System Applications Custom Applications System Initialization 7. Storage Device anipulation MTD-Supported Devices Disk Devices To Swap or Not to Swap 8. Root Filesystem Setup Selecting a Filesystem Using an NFS-Mounted Root Filesystem to Write a Filesystem Image to Flash CRAMFS JFFS2 Disk Filesystem over NFTL Disk Filesystem over RAM Disk Mounting Directories on TMPFS Live Updates 9. Setting Up the Bootloader Bootloaders Galore Server Setup for Network Boot Using LILO with Disk and CompactFlash Devices Using GRUB with DiskOnChip Devices U-Boot 10. Setting Up Networking Services The Internet Super-Server Remote Administration with SNMP Network Login Through Telnet Secure Communication with SSH Serving Web Content Through HTTP Dynamic Configuration Through DHCP 11. Debugging Tools Debugging Applications with gdb Tracing Performance Analysis Memory Debugging A Word on Hardware Tools A. Worksheet B. Resources C. Important Licenses and Notices Index
Erscheint lt. Verlag | 27.5.2003 |
---|---|
Zusatzinfo | index |
Verlagsort | Sebastopol |
Sprache | englisch |
Maße | 180 x 233 mm |
Gewicht | 658 g |
Einbandart | kartoniert |
Themenwelt | Informatik ► Betriebssysteme / Server ► Unix / Linux |
ISBN-10 | 0-596-00222-X / 059600222X |
ISBN-13 | 978-0-596-00222-0 / 9780596002220 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich