Building Embedded Linux Systems

Building Embedded Linux Systems

Language: English

Pages: 464

ISBN: 0596529686

Format: PDF / Kindle (mobi) / ePub


There's a great deal of excitement surrounding the use of Linux in embedded systems -- for everything from cell phones to car ABS systems and water-filtration plants -- but not a lot of practical information. Building Embedded Linux Systems offers an in-depth, hard-core guide to putting together embedded systems based on Linux.

Updated for the latest version of the Linux kernel, this new edition gives you the basics of building embedded Linux systems, along with the configuration, setup, and use of more than 40 different open source and free software packages in common use. The book also looks at the strengths and weaknesses of using Linux in an embedded system, plus a discussion of licensing issues, and an introduction to real-time, with a discussion of real-time options for Linux.

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
  • Debugging your embedded system using a plethora of tools and techniques
  • Using the uClibc, BusyBox, U-Boot, OpenSSH, thttpd, tftp, strace, and gdb packages

By presenting how to build the operating system components from pristine sources and how to find more documentation or help, Building Embedded Linux Systems greatly simplifies the task of keeping complete control over your embedded operating system.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U-Boot to understand it, because there are four commands that start with those letters: loadb, loads, loady, and loop. Using U-Boot’s Environment Variables Once U-Boot is up and running, you can configure it by setting the appropriate environment variables. The use of U-Boot environment variables is very similar to the use of environment variables in Unix shells such as bash. To view the current values of the environment variables on your target, use the printenv command. Here is a

Linux. The kernel itself was in fact written for the i386 first before being ported to any other architecture. After many years of high-profile resistance from Linus Torvalds, the x86 architecture also finally has its own built-in debugger within the official Linux kernel, as opposed to the debugger being an intrusive add-on. Since most, if not all, i386 embedded systems are very similar, or identical to the workstation and server counterparts in terms of functionality and programmability, the

to define some additional environment variables. They ease the build process and are based on the environment variables already defined. Using the same example project as before, here is the new develdaq script with the new variables: export PROJECT=daq-module export PRJROOT=/home/gby/bels/control-project/${PROJECT} export TARGET=powerpc-unknown-linux export HOST=i686-cross-linux-gnu export PREFIX=${PRJROOT}/tools export TARGET_PREFIX=${PREFIX}/${TARGET} export PATH=${PREFIX}/bin:${PATH} cd

(http://kissme.sourceforge.net), Aegis (http://aegisvm.sourceforge.net), and Sable VM (http://www.sablevm.org). For a complete list of open source VM projects, see the list provided by the Kaffe project at http://www.kaffe.org/links.shtml. See each project’s respective website and documentation for information on how to install and operate the VM. The GNU Java Compiler As part of the GNU project, the GNU Compiler for the Java programming language (GCJ) is an extension to GCC that can

because you will be able to track the official Linux kernel much more closely in your own embedded development. Today, you can (and typically should) simply use the official Linux kernel as much as possible in order to benefit from the collective strength of the entire kernel community. Your first point of call when building a Linux kernel for your chosen target will be the website of the person (or group) that maintains the kernel on your chosen architecture—for example, Russell’s ARM Linux

Download sample

Download