Pro Linux Embedded Systems

Pro Linux  Embedded Systems
Authors
Gene Sally
ISBN
1430272279
Published
28 Dec 2009
Purchase online
amazon.com

Today, Linux is included with nearly every embedded platform. Embedded developers can take a more modern route and spend more time tuning Linux and taking advantage of open source code to build more robust, feature-rich applications. While Gene Sally does not neglect porting Linux to new hardware, modern embedded hardware is more sophisticated than ever: most systems include the capabilities found on desktop systems.

Page 2 of 2
  1. Editorial Reviews
  2. Customer Reviews

Customer Reviews

Rostek said
I came to embedded Linux about a year ago. The first books I've got are from Yaghmour and Hallinan.
They are great but it doesn't mean Sally's book is superfluous. What I like in this book is
the project style to master your first embedded Linux project. The sequence and depth of its
chapters are very well done. I find it the natural way to learn these topics.

In the beginning Sally points out in detail the advantage to look for an evaluation board
with a well supported Linux running on it. From there you can explore what needs to be
adapted. Be aware that this makes a big difference and avoids some of the numerous pitfalls
along the way.

Next the different Linux distributions and available toolchains are discussed. The level of
detail is beyond any of the other books. Very helpful in praxis.

The other chapters show you the way to go. These are well done as well. Other books go
into more details sometimes. But you should not limit yourself to select only one book
for this area. They are all worth their money.

Neil G. Matthews said
Linux may be well known for its use on servers and desktops, but it can't be beaten for sheer numbers in embedded devices, with about 20% of the 2 billion annual embedded device market using Linux. With 18 chapters and 430 pages including an adequate 25 page index, Pro Linux Embedded Systems covers the process of developing and supporting a customised Linux build for an embedded device through the full product life-cycle. While the book is invaluable in providing a guide for those involved in building and configuring Linux for embedded project development, anyone interested in how to develop their own customised Linux build will also find it educational, particularly if their project involves lower powered hardware than the typical modern desktop. Given the advances in Linux embedded development, this recently published book (Dec 2009) is also more up to date than many other books covering this topic.

Coverage of embedded development per chapter is as follows:

1 About Embedded Linux
2 Configuring the Software Environment
3 Target Emulation and Virtual Machines
4 Starting Your Project
- includes a very good section on applying patches
5 Getting Linux for Your Board
- covers the pros and cons of the different options for obtaining the appropriate Linux source for your embedded system plus licensing issues, in particular, to what extent GPL covers the development compiler and toolchain. Also included is a very good set of questions for your prospective board vendors.
6 Creating a Linux Distribution from Scratch
- how Linux boots and the kernel starts up
7 Booting the Board
- excellent description of the Linux boot process and how to optimise size and speed for an embedded system.
8 Configuring the Application Development Environment
- useful information on suitable development languages for embedded systems and their relative strengths and weaknesses. Profiling tool usage, memory leak detection, static code checking techniques, typical IDEs used.
9 Application Development
- development process; host or development system?
10 Debugging Applications
- debugging methods; remote debugging with different IDEs.
11 Kernel Configuration and Development
- very good description of kernel source patching, configuration and development.
12 Real Time
- Excellent discussion on what real time means and how to configure Linux as a soft real time system using the CONFIG_PREEMPT_RT patch, how to avoid real time gotchas and how to use tools to measure and reduce latency.
13 Using Open Source Projects
- How an Open Source Project is structured, understanding licensing and a description of common licensing types. Source control systems including CVS, Subversion, Mercurial and GIT. Use of a cross compiler, configuring, building and installing your project software.
14 BusyBox
- Excellent coverage of how to customise, build, install and extend BusyBox, a utility that implements most of command line executables you are likely to need for your product.
15 System Design
- Very good description of the different file system choices available and the pros and cons for their use in embedded systems. How to design the Root File System, how to create and mount file systems with specific coverage of Flash devices, setting up init and inittab, running the main application, setting ownership and permissions, security options - overviews of SELinux and PAM vs built in security.
16 System Tuning
- The spectrum of embedded systems is divided into 3 or fewer Megabytes, 16 - 32 Megabytes and more than a Gigabyte with the author recommending the appropriate tuning approach for each. Program size and kernel optimisation techniques are covered along with a good section on how to reduce boot time. An excellent table showing whether you really need what you think might be needed in your Root File System is also included.
17 Deploying Applications
- Covers the Embedded Development process; Requirements, Industrial and Mechanical Design, Electrical and Manufacturing Engineering, Software Design and Engineering, Manufacturing. Deployment Strategies and Tactics; Boot Loader Configuration - using expect. Deployment Root File System - when and when not to follow the Linux File System Hierarchy Standard.
18 Handling Field Updates
- Root File System and Kernel upgrades via Forklift, Parallel System or Do it Yourself upgrades. RPM, dpkg, ipkg and apt package management is covered with a very good section of making and installing packages. Finally, what to do when field updates fail.


This book is definitely worth a place on your reference shelf if you are involved in developing an embedded Linux system. It includes well explained example sessions illustrating how to install, configure and cross compile the kernel and development toolchains and how to develop, build, transfer and debug code on the embedded development host. The only real disappointment with this book is the annoying frequency of grammatical errors (e.g. missing or incorrect words, incomplete sentences) which will hopefully disappear in the next edition.

You might also like...

Comments

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“A computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match” - Bill Bryson