Comprehensive Real-World Guidance for Every Embedded Developer and Engineer
This book brings together indispensable knowledge for building efficient, high-value, Linux-based embedded products: information that has never been assembled in one place before. Drawing on years of experience as an embedded Linux consultant and field application engineer, Christopher Hallinan offers solutions for the specific technical issues you’re most likely to face, demonstrates how to build an effective embedded Linux environment, and shows how to use it as productively as possible.
Hallinan begins by touring a typical Linux-based embedded system, introducing key concepts and components, and calling attention to differences between Linux and traditional embedded environments. Writing from the embedded developer’s viewpoint, he thoroughly addresses issues ranging from kernel building and initialization to bootloaders, device drivers to file systems.
Hallinan thoroughly covers the increasingly popular BusyBox utilities; presents a step-by-step walkthrough of porting Linux to custom boards; and introduces real-time configuration via CONFIG_RT--one of today’s most exciting developments in embedded Linux. You’ll find especially detailed coverage of using development tools to analyze and debug embedded systems--including the art of kernel debugging.
Compare leading embedded Linux processors
Understand the details of the Linux kernel initialization process
Learn about the special role of bootloaders in embedded Linux systems, with specific emphasis on U-Boot
Use embedded Linux file systems, including JFFS2--with detailed guidelines for building Flash-resident file system images
Understand the Memory Technology Devices subsystem for flash (and other) memory devices
Master gdb, KGDB, and hardware JTAG debugging
Learn many tips and techniques for debugging within the Linux kernel
Maximize your productivity in cross-development environments
Prepare your entire development environment, including TFTP, DHCP, and NFS target servers
Configure, build, and initialize BusyBox to support your unique requirements
About the Author
Christopher Hallinan, field applications engineer at MontaVista software, has worked for more than 20 years in assignments ranging from engineering and engineering management to marketing and business development. He spent four years as an independent development consultant in the embedded Linux marketplace. His work has appeared in magazines, including Telecommunications Magazine, Fiber Optics Magazine, and Aviation Digest.
About this product: Administering a Linux system isn't much like administering a Windows machine. Though the goals are similar and comparable problems arise under both environments, they each require administrators to adopt a certain way of thinking about processes and data. Linux Administration: A Beginner's Guide helps readers adapt their Windows experience to Linux work. Author Steve Shah does a great job of clueing Linux newcomers into the environment. His explanations are clear, patient, accurate, and useful, and they cover all aspects of the system administrator's job. He's careful to explain hundreds of commands in a logical way, including lists of options and examples of typical uses in many cases.
But this is no mere command reference or novice's introduction. Shah doesn't shy away from explaining the really interesting aspects of Linux administration, including kernel compilation, Domain Name Service (DNS) configuration, sendmail setup, and establishing firewall protection with IP chaining. For all of these subjects (and many more), this book includes clear statements of what concepts are relevant, which commands to issue, and what to expect in response. It's a great help in self-guided explorations. It's also worth having this book on hand for work assignments--you'll find complete recipes for configuring all major Internet and local area network (LAN) services that also take into account easy maintenance and security. --David Wall
Topics covered: Administering Linux 2.2.x (particularly Red Hat, Caldera, and SuSE distributions). Installation, initial configuration, using the bash command shell, managing files, managing software, and granting rights to users. DNS, FTP, Apache, sendmail, Samba, and other services receive lots of attention.
Everything you need to know about Linux is in this book. Written by Stephen Figgins, Ellen Siever, Robert Love, and Arnold Robbins -- people with years of active participation in the Linux community -- Linux in a Nutshell, Sixth Edition, thoroughly covers programming tools, system and network administration tools, the shell, editors, and LILO and GRUB boot loaders.
This updated edition offers a tighter focus on Linux system essentials, as well as more coverage of new capabilities such as virtualization, wireless network management, and revision control with git. It also highlights the most important options for using the vast number of Linux commands. You'll find many helpful new tips and techniques in this reference, whether you're new to this operating system or have been using it for years.
Get the Linux commands for system administration and network management
Use hundreds of the most important shell commands available on Linux
Understand the Bash shell command-line interpreter
Search and process text with regular expressions
Manage your servers via virtualization with Xen and VMware
Use the Emacs text editor and development environment, as well as the vi, ex, and vim text-manipulation tools
Process text files with the sed editor and the gawk programming language
About this product: Updated to cover version 2.4.x of the Linux kernel, the second edition of Linux Device Drivers remains the best general-purpose, paper-bound guide for programmers wishing to make hardware devices work under the world's most popular open-source operating system. The authors take care to show how to write drivers that are portable--that is, that compile and run under all popular Linux platforms. That, along with the fact that they're careful to explain and illustrate concepts, makes this book very well suited to any programmer familiar with C but not with the hardware-software interface. It's worth noting that the emphasis in the title is on "device drivers" as much as "Linux." This book will make sense to you if you've never written a driver for any platform before. It helps if you have some Linux or Unix background, but even that is secondary as a prerequisite to C skill.
For a programming text--and one concerned with low-level instructions and data structures, at that--this book is remarkably rich in prose. You'll typically want to read this book straight through, more or less skipping the code samples, before sketching out your plan for the driver you need to write. Then, go back and pay closer attention to the sections on specific details you need to implement, like custom task queues. For coding-time details about specific system calls and programming techniques, count on the index to point you to the right passages. --David Wall
Topics covered: Techniques for writing hardware device drivers that run under Linux kernels 2.0.x through 2.2.x. Sections show how to manage memory, time, interrupts, ports, and other details of the hardware-software interface.
In order to thoroughly understand what makes Linux tick and why it works so well on a wide variety of systems, you need to delve deep into the heart of the kernel. The kernel handles all interactions between the CPU and the external world, and determines which programs will share processor time, in what order. It manages limited memory so well that hundreds of processes can share the system efficiently, and expertly organizes data transfers so that the CPU isn't kept waiting any longer than necessary for the relatively slow disks.
The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.
This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:
Memory management, including file buffering, process swapping, and Direct memory Access (DMA)
The Virtual Filesystem layer and the Second and Third Extended Filesystems
Process creation and scheduling
Signals, interrupts, and the essential interfaces to device drivers
Timing
Synchronization within the kernel
Interprocess Communication (IPC)
Program execution
Understanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.
Praise for the First Edition of A Practical Guide to Linux Commands, Editors, and Shell Programming
“First Sobell taught people how to use Linux…now he teaches you the power of Linux. A must-have book for anyone who wants to take Linux to the next level.”
–Jon “maddog” Hall, Executive Director, Linux International
“This book is a very useful tool for anyone who wants to ‘look under the hood’ so to speak, and really start putting the power of Linux to work. What I find particularly frustrating about man pages is that they never include examples. Sobell, on the other hand, outlines very clearly what the command does and then gives several common, easy-tounderstand examples that make it a breeze to start shell programming on one’s own. As with Sobell’s other works, this is simple, straight-forward, and easy to read. It’s a great book and will stay on the shelf at easy arm’s reach for a long time.”
–Ray Bartlett, Travel Writer
“Overall I found this book to be quite excellent, and it has earned a spot on the very front of my bookshelf. It covers the real ‘guts’ of Linux–the command line and its utilities–and does so very well. Its strongest points are the outstanding use of examples, and the Command Reference section. Highly recommended for Linux users of all skill levels. Well done to Mark Sobell and Prentice Hall for this outstanding book!”
–Dan Clough, Electronics Engineer and Slackware Linux user
“Totally unlike most Linux books, this book avoids discussing everything via GUI and jumps right into making the power of the command line your friend.”
–Bjorn Tipling, Software Engineer, ask.com
“This book is the best distro-agnostic, foundational Linux reference I’ve ever seen, out of dozens of Linux-related books I’ve read. Finding this book was a real stroke of luck. If you want to really understand how to get things done at the command line, where the power and flexibility of free UNIX-like OSes really live, this book is among the best tools you’ll find toward that end.”
–Chad Perrin, Writer, TechRepublic
Praise for Other Books by Mark G. Sobell
“I keep searching for books that collect everything you want to know about a subject in one place, and keep getting disappointed. Usually the books leave out some important topic, while others go too deep in some areas and must skim lightly over the others. A Practical Guide to Red Hat® Linux® is one of those rare books that actually pulls it off. Mark G. Sobell has created a single reference for Red Hat Linux that can’t be beat! This marvelous text (with a 4-CD set of Linux Fedora Core 2 included) is well worth the price. This is as close to an ‘everything you ever needed to know’ book that I’ve seen. It’s just that good and rates 5 out of 5.”
–Ray Lodato, Slashdot contributor
“Mark Sobell has written a book as approachable as it is authoritative.”
–Jeffrey Bianchine, Advocate, Author, Journalist
“Excellent reference book, well suited for the sysadmin of a Linux cluster, or the owner of a PC contemplating installing a recent stable Linux. Don’t be put off by the daunting heft of the book. Sobell has strived to be as inclusive as possible, in trying to anticipate your system administration needs.”
–Wes Boudville, Inventor
“A Practical Guide to Red Hat® Linux® is a brilliant book. Thank you Mark Sobell.”
–C. Pozrikidis, University of California at San Diego
“This book presents the best overview of the Linux operating system that I have found. . . . [It] should be very helpful and understandable no matter what the reader’s background: traditional UNIX user, new Linux devotee, or even Windows user. Each topic is presented in a clear, complete fashion, and very few assumptions are made about what the reader knows. . . . The book is extremely useful as a reference, as it contains a 70-page glossary of terms and is very well indexed. It is organized in such a way that the reader can focus on simple tasks without having to wade through more advanced topics until they are ready.”
–Cam Marshall, Marshall Information Service LLC, Member of Front Range UNIX Users Group [FRUUG], Boulder, Colorado
“Conclusively, this is THE book to get if you are a new Linux user and you just got into the RH/Fedora world. There’s no other book that discusses so many different topics and in such depth.”
–Eugenia Loli-Queru, Editor in Chief, OSNews.com
For use with all versions of Linux, including Ubuntu,™ Fedora,™ openSUSE,™ Red Hat,® Debian, Mandriva, Mint, and now OS X, too!
Get more done faster, and become a true Linux guru by mastering the command line!
Learn from hundreds of realistic, high-quality examples
NEW! Coverage of the Mac OS X command line and its unique tools
NEW! Expert primer on automating tasks with Perl
The Most Useful Linux Tutorial and Reference, with Hundreds of High-Quality Examples for Every Distribution–Now Covers OS X and Perl, Too!
To be truly productive with Linux, you need to thoroughly master shells and the command line. Until now, you had to buy two books to gain that mastery: a tutorial on fundamental Linux concepts and techniques, plus a separate reference. Now, there’s a far better solution. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools system administrators, developers, and power users need most, and an outstanding day-to-day reference, both in the same book.
This book is 100 percent distribution and release agnostic: You can use it with any Linux system, now and for years to come. Use Macs, too? This new edition adds comprehensive coverage of the Mac OS X command line, including essential OS X-only tools and utilities other Linux/UNIX books ignore.
Packed with hundreds of high-quality, realistic examples, this book gives you Linux from the ground up: the clearest explanations and most useful knowledge about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions. Sobell has also added an outstanding new primer on Perl, the most important programming tool for Linux admins seeking to automate complex, time-consuming tasks.
A Practical Guide to Linux® Commands, Editors, and Shell Programming, Second Edition, is the only book to deliver
Better, more realistic examples covering tasks you’ll actually need to perform
Deeper insight, based on Sobell’s immense knowledge of every Linux and OS X nook and cranny
A start-to-finish primer on Perl for every system administrator
In-depth coverage of basic and advanced Linux shell programming with bash and tcsh
Practical explanations of 100 core utilities, from aspell to xargs–including Mac OS X specific utilities from ditto to SetFile
All-new coverage of automating remote backups with rsync
Dozens of system security tips, including step-by-step walkthroughs of implementing secure communications using ssh and scp
Tips and tricks for customizing the shell and using it interactively from the command line
Complete guides to high-productivity editing with both vim and emacs
A comprehensive, 286-page command reference section–now with revised and expanded indexes for faster access to the information you need
Instructions for updating systems automatically with apt-get and yum
Dozens of exercises to help you practice and gain confidence
And much more, including coverage of BitTorrent, gawk, sed, find, sort, bzip2, and regular expressions
About this product: One of the fastest ways to learn Linux is with this perennial favorite
Eight previous top-selling editions of Linux For Dummies can't be wrong. If you've been wanting to migrate to Linux, this book is the best way to get there. Written in easy-to-follow, everyday terms, Linux For Dummies 9th Edition gets you started by concentrating on two distributions of Linux that beginners love: the Ubuntu LiveCD distribution and the gOS Linux distribution, which comes pre-installed on Everex computers. The book also covers the full Fedora distribution.
Linux is an open-source operating system and a low-cost or free alternative to Microsoft Windows; of numerous distributions of Linux, this book covers Ubuntu Linux, Fedora Core Linux, and gOS Linux, and includes them on the DVD.
Install new open source software via Synaptic or RPM package managers
Use free software to browse the Web, listen to music, read e-mail, edit photos, and even run Windows in a virtualized environment
Get acquainted with the Linux command line
If you want to get a solid foundation in Linux, this popular, accessible book is for you.
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
About this product: Provided you have some previous basic exposure to C and Unix, Beginning Linux Programming delivers an excellent overview of the world of Linux development with an appealing range of essential tools and APIs.
The standout feature of Beginning Linux Programming is its wide-ranging coverage of important topics in basic Unix programming. In a series of short chapters, the authors discuss the basics of writing Unix programs in C, with material on basic system calls, file I/O, interprocess communication (for getting programs to work together), and advanced topics such as socket programming and how to create Unix device drivers.
Parallel to this, the book introduces the toolkits and libraries for working with user interfaces, from simpler terminal mode applications to X and GTK+ for graphical user interfaces. While you won't be an authority on X or GTK+ after reading this book, you will certainly be able to explore real Linux development on your own after the capable introductory guide provided here. (The book's main example, a CD-ROM database, gets enhanced in subsequent chapters using new APIs and features as the book moves forward.) This text also serves as a valuable primer on languages and tools such as Tcl, Perl, and CGI. (There's even a section that explains the basics of the Internet and HTML.)
More than ever, there is no shortage of specific information on Linux programming, but few titles provide such a wide-ranging tour of what you need to know to get serious with Linux development. In all, Beginning Linux Programming gives the reader an intelligent sampling of essential topics in today's Linux. It's a wise choice for aspiring Unix C developers or folks seeking to extend the range of their Linux knowledge. --Richard Dragan
Topics covered: Linux overview, compiling C programs, shell programming, pipes, script keywords and functions, Unix file I/O in C, Unix system functions, terminal interfaces (termios, keyboard input, the curses library), memory management, file locking, dbm databases, make and source control basics, man pages, debugging with gdb, processes and signals, POSIX threads and synchronization, IPC and pipes, semaphores, queues and shared memory, sockets, Tcl basics, X Windows and GTK+ for GNOME, Perl basics, HTML and CGI, writing Unix device drivers.
About this product: Linux Pocket Guide gets you up to speed quickly on day-to-day Linux use. It's organized the way you use Linux: by function, not just alphabetically. It's not the 'bible of Linux; it's a practical and concise guide to the options and commands you need most. It starts with general concepts like files and directories, the shell, and X windows, and then presents detailed overviews of the most essential commands, with clear examples. You'll learn each command's purpose, usage, options, location on disk, and even the RPM package that installed it. The Linux Pocket Guide is tailored to Fedora Linux--the latest spin-off of Red Hat Linux--but most of the information applies to any Linux system. Throw in a host of valuable power user tips and a friendly and accessible style, and you'll quickly find this practical, to-the-point book a small but mighty resource for Linux users.
“As this book shows, Linux systems are just as functional, secure, and reliable as their proprietary counterparts. Thanks to the ongoing efforts of thousands of Linux developers, Linux is more ready than ever for deployment at the frontlines of the real world. The authors of this book know that terrain well, and I am happy to leave you in their most capable hands.” —Linus Torvalds
“The most successful sysadmin book of all time—because it works!” —Rik Farrow, editor of ;login:
“This book clearly explains current technology with the perspective of decades of experience in large-scale system administration. Unique and highly recommended.” —Jonathan Corbet, cofounder, LWN.net
“Nemeth et al. is the overall winner for Linux administration: it’s intelligent, full of insights, and looks at the implementation of concepts.” —Peter Salus, editorial director, Matrix.net
Since 2001, Linux Administration Handbook has been the definitive resource for every Linux® system administrator who must efficiently solve technical problems and maximize the reliability and performance of a production environment. Now, the authors have systematically updated this classic guide to address today’s most important Linux distributions and most powerful new administrative tools.
The authors spell out detailed best practices for every facet of system administration, including storage management, network design and administration, web hosting, software configuration management, performance analysis, Windows interoperability, and much more. Sysadmins will especially appreciate the thorough and up-to-date discussions of such difficult topics such as DNS, LDAP, security, and the management of IT service organizations.
Linux® Administration Handbook, Second Edition, reflects the current versions of these leading distributions:
Red Hat® Enterprise Linux®
FedoraTM Core
SUSE® Linux Enterprise
Debian® GNU/Linux
Ubuntu® Linux
Sharing their war stories and hard-won insights, the authors capture the behavior of Linux systems in the real world, not just in ideal environments. They explain complex tasks in detail and illustrate these tasks with examples drawn from their extensive hands-on experience.