ORPP logo

Mastering Embedded Linux Programming : (Record no. 127761)

MARC details
000 -LEADER
fixed length control field 11208nam a22004813i 4500
001 - CONTROL NUMBER
control field EBC4898669
003 - CONTROL NUMBER IDENTIFIER
control field MiAaPQ
005 - DATE AND TIME OF LATEST TRANSACTION
control field 20240729131321.0
006 - FIXED-LENGTH DATA ELEMENTS--ADDITIONAL MATERIAL CHARACTERISTICS
fixed length control field m o d |
007 - PHYSICAL DESCRIPTION FIXED FIELD--GENERAL INFORMATION
fixed length control field cr cnu||||||||
008 - FIXED-LENGTH DATA ELEMENTS--GENERAL INFORMATION
fixed length control field 240724s2017 xx o ||||0 eng d
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
International Standard Book Number 9781787288850
Qualifying information (electronic bk.)
020 ## - INTERNATIONAL STANDARD BOOK NUMBER
Canceled/invalid ISBN 9781787283282
035 ## - SYSTEM CONTROL NUMBER
System control number (MiAaPQ)EBC4898669
035 ## - SYSTEM CONTROL NUMBER
System control number (Au-PeEL)EBL4898669
035 ## - SYSTEM CONTROL NUMBER
System control number (CaPaEBR)ebr11444190
035 ## - SYSTEM CONTROL NUMBER
System control number (OCoLC)1005013039
040 ## - CATALOGING SOURCE
Original cataloging agency MiAaPQ
Language of cataloging eng
Description conventions rda
-- pn
Transcribing agency MiAaPQ
Modifying agency MiAaPQ
050 #4 - LIBRARY OF CONGRESS CALL NUMBER
Classification number QA76.76.O63.S566 2017
082 0# - DEWEY DECIMAL CLASSIFICATION NUMBER
Classification number 5.4320000000000004
100 1# - MAIN ENTRY--PERSONAL NAME
Personal name Simmonds, Chris.
245 10 - TITLE STATEMENT
Title Mastering Embedded Linux Programming :
Remainder of title Unleash the Full Potential of Embedded Linux with Linux 4. 9 and Yocto Project 2. 2 (Morty) Updates.
250 ## - EDITION STATEMENT
Edition statement 2nd ed.
264 #1 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE
Place of production, publication, distribution, manufacture Birmingham :
Name of producer, publisher, distributor, manufacturer Packt Publishing, Limited,
Date of production, publication, distribution, manufacture, or copyright notice 2017.
264 #4 - PRODUCTION, PUBLICATION, DISTRIBUTION, MANUFACTURE, AND COPYRIGHT NOTICE
Date of production, publication, distribution, manufacture, or copyright notice ©2017.
300 ## - PHYSICAL DESCRIPTION
Extent 1 online resource (468 pages)
336 ## - CONTENT TYPE
Content type term text
Content type code txt
Source rdacontent
337 ## - MEDIA TYPE
Media type term computer
Media type code c
Source rdamedia
338 ## - CARRIER TYPE
Carrier type term online resource
Carrier type code cr
Source rdacarrier
505 0# - FORMATTED CONTENTS NOTE
Formatted contents note Cover -- Copyright -- Credits -- About the Author -- About the Reviewers -- www.PacktPub.com -- Customer Feedback -- Table of Contents -- Preface -- Chapter 1: Starting Out -- Selecting the right operating system -- The players -- Project life cycle -- The four elements of embedded Linux -- Open source -- Licenses -- Hardware for embedded Linux -- Hardware used in this book -- The BeagleBone Black -- QEMU -- Software used in this book -- Summary -- Chapter 2: Learning About Toolchains -- Introducing toolchains -- Types of toolchains -- CPU architectures -- Choosing the C library -- Finding a toolchain -- Building a toolchain using crosstool-NG -- Installing crosstool-NG -- Building a toolchain for BeagleBone Black -- Building a toolchain for QEMU -- Anatomy of a toolchain -- Finding out about your cross compiler -- The sysroot, library, and header files -- Other tools in the toolchain -- Looking at the components of the C library -- Linking with libraries - static and dynamic linking -- Static libraries -- Shared libraries -- Understanding shared library version numbers -- The art of cross compiling -- Simple makefiles -- Autotools -- An example: SQLite -- Package configuration -- Problems with cross compiling -- Summary -- Chapter 3: All About Bootloaders -- What does a bootloader do? -- The boot sequence -- Phase 1 - ROM code -- Phase 2 - secondary program loader -- Phase 3 - TPL -- Booting with UEFI firmware -- Moving from bootloader to kernel -- Introducing device trees -- Device tree basics -- The reg property -- Labels and interrupts -- Device tree include files -- Compiling a device tree -- Choosing a bootloader -- U-Boot -- Building U-Boot -- Installing U-Boot -- Using U-Boot -- Environment variables -- Boot image format -- Loading images -- Booting Linux -- Automating the boot with U-Boot scripts -- Porting U-Boot to a new board.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Board-specific files -- Configuring header files -- Building and testing -- Falcon mode -- Barebox -- Getting barebox -- Building barebox -- Using barebox -- Summary -- Chapter 4: Configuring and Building the Kernel -- What does the kernel do? -- Choosing a kernel -- Kernel development cycle -- Stable and long term support releases -- Vendor support -- Licensing -- Building the kernel -- Getting the source -- Understanding kernel configuration - Kconfig -- Using LOCALVERSION to identify your kernel -- Kernel modules -- Compiling - Kbuild -- Finding out which kernel target to build -- Build artifacts -- Compiling device trees -- Compiling modules -- Cleaning kernel sources -- Building a kernel for the BeagleBone Black -- Building a kernel for QEMU -- Booting the kernel -- Booting the BeagleBone Black -- Booting QEMU -- Kernel panic -- Early user space -- Kernel messages -- Kernel command line -- Porting Linux to a new board -- A new device tree -- Setting the board compatible property -- Additional reading -- Summary -- Chapter 5: Building a Root Filesystem -- What should be in the root filesystem? -- The directory layout -- The staging directory -- POSIX file access permissions -- File ownership permissions in the staging directory -- Programs for the root filesystem -- The init program -- Shell -- Utilities -- BusyBox to the rescue! -- Building BusyBox -- ToyBox - an alternative to BusyBox -- Libraries for the root filesystem -- Reducing the size by stripping -- Device nodes -- The proc and sysfs filesystems -- Mounting filesystems -- Kernel modules -- Transferring the root filesystem to the target -- Creating a boot initramfs -- Standalone initramfs -- Booting the initramfs -- Booting with QEMU -- Booting the BeagleBone Black -- Mounting proc -- Building an initramfs into the kernel image -- Building an initramfs using a device table.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note The old initrd format -- The init program -- Starting a daemon process -- Configuring user accounts -- Adding user accounts to the root filesystem -- A better way of managing device nodes -- An example using devtmpfs -- An example using mdev -- Are static device nodes so bad after all? -- Configuring the network -- Network components for glibc -- Creating filesystem images with device tables -- Booting the BeagleBone Black -- Mounting the root filesystem using NFS -- Testing with QEMU -- Testing with the BeagleBone Black -- Problems with file permissions -- Using TFTP to load the kernel -- Additional reading -- Summary -- Chapter 6: Selecting a Build System -- Build systems -- Package formats and package managers -- Buildroot -- Background -- Stable releases and long-term support -- Installing -- Configuring -- Running -- Creating a custom BSP -- U-Boot -- Linux -- Build -- Adding your own code -- Overlays -- Adding a package -- License compliance -- The Yocto Project -- Background -- Stable releases and supports -- Installing the Yocto Project -- Configuring -- Building -- Running the QEMU target -- Layers -- BitBake and recipes -- Customizing images via local.conf -- Writing an image recipe -- Creating an SDK -- The license audit -- Further reading -- Summary -- Chapter 7: Creating a Storage Strategy -- Storage options -- NOR flash -- NAND flash -- Managed flash -- MultiMediaCard and Secure Digital cards -- eMMC -- Other types of managed flash -- Accessing flash memory from the bootloader -- U-Boot and NOR flash -- U-Boot and NAND flash -- U-Boot and MMC, SD, and eMMC -- Accessing flash memory from Linux -- Memory technology devices -- MTD partitions -- MTD device drivers -- The MTD character device, mtd -- The MTD block device, mtdblock -- Logging kernel oops to MTD -- Simulating NAND memory -- The MMC block driver -- Filesystems for flash memory.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Flash translation layers -- Filesystems for NOR and NAND flash memory -- JFFS2 -- Summary nodes -- Clean markers -- Creating a JFFS2 filesystem -- YAFFS2 -- Creating a YAFFS2 filesystem -- UBI and UBIFS -- UBI -- UBIFS -- Filesystems for managed flash -- Flashbench -- Discard and TRIM -- Ext4 -- F2FS -- FAT16/32 -- Read-only compressed filesystems -- squashfs -- Temporary filesystems -- Making the root filesystem read-only -- Filesystem choices -- Further reading -- Summary -- Chapter 8: Updating Software in the Field -- What to update? -- Bootloader -- Kernel -- Root filesystem -- System applications -- Device-specific data -- Components that need to be updated -- The basics of software update -- Making updates robust -- Making updates fail-safe -- Making updates secure -- Types of update mechanism -- Symmetric image update -- Asymmetric image update -- Atomic file updates -- OTA updates -- Using Mender for local updates -- Building the Mender client -- Installing an update -- Using Mender for OTA updates -- Summary -- Chapter 9: Interfacing with Device Drivers -- The role of device drivers -- Character devices -- Block devices -- Network devices -- Finding out about drivers at runtime -- Getting information from sysfs -- The devices: /sys/devices -- The drivers: /sys/class -- The block drivers: /sys/block -- Finding the right device driver -- Device drivers in user space -- GPIO -- Handling interrupts from GPIO -- LEDs -- I2C -- Serial Peripheral Interface (SPI) -- Writing a kernel device driver -- Designing a character driver interface -- The anatomy of a device driver -- Compiling kernel modules -- Loading kernel modules -- Discovering the hardware configuration -- Device trees -- The platform data -- Linking hardware with device drivers -- Additional reading -- Summary -- Chapter 10: Starting Up - The init Program -- After the kernel has booted.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Introducing the init programs -- BusyBox init -- Buildroot init scripts -- System V init -- inittab -- The init.d scripts -- Adding a new daemon -- Starting and stopping services -- systemd -- Building systemd with the Yocto Project and Buildroot -- Introducing targets, services, and units -- Units -- Services -- Targets -- How systemd boots the system -- Adding your own service -- Adding a watchdog -- Implications for embedded Linux -- Further reading -- Summary -- Chapter 11: Managing Power -- Measuring power usage -- Scaling the clock frequency -- The CPUFreq driver -- Using CPUFreq -- Selecting the best idle state -- The CPUIdle driver -- Tickless operation -- Powering down peripherals -- Putting the system to sleep -- Power states -- Wakeup events -- Timed wakeups from the real-time clock -- Further reading -- Summary -- Chapter 12: Learning About Processes and Threads -- Process or thread? -- Processes -- Creating a new process -- Terminating a process -- Running a different program -- Daemons -- Inter-process communication -- Message-based IPC -- Unix (or local) sockets -- FIFOs and named pipes -- POSIX message queues -- Summary of message-based IPC -- Shared memory-based IPC -- POSIX shared memory -- Threads -- Creating a new thread -- Terminating a thread -- Compiling a program with threads -- Inter-thread communication -- Mutual exclusion -- Changing conditions -- Partitioning the problem -- Scheduling -- Fairness versus determinism -- Time-shared policies -- Niceness -- Real-time policies -- Choosing a policy -- Choosing a real-time priority -- Further reading -- Summary -- Chapter 13: Managing Memory -- Virtual memory basics -- Kernel space memory layout -- How much memory does the kernel use? -- User space memory layout -- The process memory map -- Swapping -- Swapping to compressed memory (zram) -- Mapping memory with mmap.
505 8# - FORMATTED CONTENTS NOTE
Formatted contents note Using mmap to allocate private memory.
588 ## - SOURCE OF DESCRIPTION NOTE
Source of description note Description based on publisher supplied metadata and other sources.
590 ## - LOCAL NOTE (RLIN)
Local note Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2024. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
650 #0 - SUBJECT ADDED ENTRY--TOPICAL TERM
Topical term or geographic name entry element Operating systems (Computers).
655 #4 - INDEX TERM--GENRE/FORM
Genre/form data or focus term Electronic books.
776 08 - ADDITIONAL PHYSICAL FORM ENTRY
Relationship information Print version:
Main entry heading Simmonds, Chris
Title Mastering Embedded Linux Programming
Place, publisher, and date of publication Birmingham : Packt Publishing, Limited,c2017
International Standard Book Number 9781787283282
797 2# - LOCAL ADDED ENTRY--CORPORATE NAME (RLIN)
Corporate name or jurisdiction name as entry element ProQuest (Firm)
856 40 - ELECTRONIC LOCATION AND ACCESS
Uniform Resource Identifier <a href="https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=4898669">https://ebookcentral.proquest.com/lib/orpp/detail.action?docID=4898669</a>
Public note Click to View

No items available.

© 2024 Resource Centre. All rights reserved.