Christopher Hallinan - Embedded Linux Primer - A Practical, Real-World Approach

Здесь есть возможность читать онлайн «Christopher Hallinan - Embedded Linux Primer - A Practical, Real-World Approach» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 2006, ISBN: 2006, Издательство: Prentice Hall, Жанр: ОС и Сети, на английском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Embedded Linux Primer: A Practical, Real-World Approach: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Embedded Linux Primer: A Practical, Real-World Approach»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

Embedded Linux Primer: A Practical, Real-World Approach — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Embedded Linux Primer: A Practical, Real-World Approach», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

modules_install - Install all modules

dir/ - Build all files in dir and below

dir/file.[ois] - Build specified target only

dir/file.ko - Build module including final link

rpm - Build a kernel as an RPM package

tags/TAGS - Generate tags file for editors

cscope - Generate cscope index

kernelrelease - Output the release version string

Static analysers

buildcheck - List dangling references to vmlinux discarded sections and

init sections from non-init sections

checkstack - Generate a list of stack hogs

namespacecheck - Name space analysis on compiled kernel

Kernel packaging:

rpm-pkg - Build the kernel as an RPM package

binrpm-pkg - Build an rpm package containing the compiled kernel and

modules

deb-pkg - Build the kernel as an deb package

tar-pkg - Build the kernel as an uncompressed tarball

targz-pkg - Build the kernel as a gzip compressed tarball

tarbz2-pkg - Build the kernel as a bzip2 compressed tarball

Documentation targets:

Linux kernel internal documentation in different formats:

xmldocs (XML DocBook), psdocs (Postscript), pdfdocs (PDF)

htmldocs (HTML), mandocs (man pages, use installmandocs to install)

Architecture specific targets (arm):

* zImage - Compressed kernel image (arch/arm/boot/zImage)

Image - Uncompressed kernel image (arch/arm/boot/Image)

* xipImage - XIP kernel image, if configured (arch/arm/boot/xipImage)

bootpImage - Combined zImage and initial RAM disk

(supply initrd image via make variable INITRD=)

install - Install uncompressed kernel

zinstall - Install compressed kernel

Install using (your) ~/bin/installkernel or

(distribution) /sbin/installkernel or

install to $(INSTALL_PATH) and run lilo

assabet_defconfig - Build for assabet

badge4_defconfig - Build for badge4

bast_defconfig - Build for bast

cerfcube_defconfig - Build for cerfcube

clps7500_defconfig - Build for clps7500

collie_defconfig - Build for collie

corgi_defconfig - Build for corgi

ebsa110_defconfig - Build for ebsa110

edb7211_defconfig - Build for edb7211

enp2611_defconfig - Build for enp2611

ep80219_defconfig - Build for ep80219

epxa10db_defconfig - Build for epxa10db

footbridge_defconfig - Build for footbridge

fortunet_defconfig - Build for fortunet

h3600_defconfig - Build for h3600

h7201_defconfig - Build for h7201

h7202_defconfig - Build for h7202

hackkit_defconfig - Build for hackkit

integrator_defconfig - Build for integrator

iq31244_defconfig - Build for iq31244

iq80321_defconfig - Build for iq80321

iq80331_defconfig - Build for iq80331

iq80332_defconfig - Build for iq80332

ixdp2400_defconfig - Build for ixdp2400

ixdp2401_defconfig - Build for ixdp2401

ixdp2800_defconfig - Build for ixdp2800

ixdp2801_defconfig - Build for ixdp2801

ixp4xx_defconfig - Build for ixp4xx

jornada720_defconfig - Build for jornada720

lart_defconfig - Build for lart

lpd7a400_defconfig - Build for lpd7a400

lpd7a404_defconfig - Build for lpd7a404

lubbock_defconfig - Build for lubbock

lusl7200_defconfig - Build for lusl7200

mainstone_defconfig - Build for mainstone

mx1ads_defconfig - Build for mx1ads

neponset_defconfig - Build for neponset

netwinder_defconfig - Build for netwinder

omap_h2_1610_defconfig - Build for omap_h2_1610

pleb_defconfig - Build for pleb

poodle_defconfig - Build for poodle

pxa255-idp_defconfig - Build for pxa255-idp

rpc_defconfig - Build for rpc

s3c2410_defconfig - Build for s3c2410

shannon_defconfig - Build for shannon

shark_defconfig - Build for shark

simpad_defconfig - Build for simpad

smdk2410_defconfig - Build for smdk2410

spitz_defconfig - Build for spitz

versatile_defconfig - Build for versatile

make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build

make O=dir [targets] Locate all output files in "dir", including .config

make C=1 [targets] Check all c source with $CHECK (sparse)

make C=2 [targets] Force check of all c source with $CHECK (sparse)

Execute "make" or "make all" to build all targets marked with [*]

For further info see the ./README file

Many of these targets you might never use. However, it is useful to know that they exist. As you can see from Listing 4-7, the targets listed with an asterisk are built by default. Notice the numerous default configurations, listed as *_defconfig. Recall from Section 4.2.2, "Compiling the Kernel," the command we used to preconfigure a pristine kernel source tree: We invoked make with an architecture and a default configuration. The default configuration was ixp4xx_defconfig, which appears in this list of ARM targets. This is a good way to discover all the default configurations available for a particular kernel release and architecture.

4.3.4. Kernel Configuration

Kconfig (or a file with a similar root followed by an extension, such as Kconfig. ext ) exists in almost 300 kernel subdirectories. Kconfig drives the configuration process for the features contained within its subdirectory. The contents of Kconfig are parsed by the configuration subsystem, which presents configuration choices to the user, and contains help text associated with a given configuration parameter.

The configuration utility (such as gconf, presented earlier) reads the Kconfig files starting from the arch subdirectory's Kconfig file. It is invoked from the Kconfig makefile with an entry that looks like this:

gconfig: $(obj)/gconf

$< arch/$(ARCH)/Kconfig

Depending on which architecture you are building, gconf reads this architecture-specific Kconfig as the top-level configuration definition. Contained within Kconfig are a number of lines that look like this:

source "drivers/pci/Kconfig"

This directive tells the configuration editor utility to read in another Kconfig file from another location within the kernel source tree. Each architecture contains many such Kconfig files; taken together, these determine the complete set of menu options presented to the user when configuring the kernel. Each Kconfig file is free to source additional Kconfig files in different parts of the source tree. The configuration utility gconf, in this case, recursively reads the Kconfig file chain and builds the configuration menu structure.

Listing 4-8 is a partial tree view of the Kconfig files associated with the ARM architecture. In a recent Linux 2.6 source tree from which this example was taken, the kernel configuration was defined by 170 separate Kconfig files. This listing omits most of those, for the sake of space and claritythe idea is to show the overall structure. To list them all in this tree view would take several pages of this text.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Embedded Linux Primer: A Practical, Real-World Approach»

Представляем Вашему вниманию похожие книги на «Embedded Linux Primer: A Practical, Real-World Approach» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Embedded Linux Primer: A Practical, Real-World Approach»

Обсуждение, отзывы о книге «Embedded Linux Primer: A Practical, Real-World Approach» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x