Book Image

Embedded Linux Development with Yocto Project

Book Image

Embedded Linux Development with Yocto Project

Overview of this book

Table of Contents (22 chapters)
Embedded Linux Development with Yocto Project
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
References
Index

Index

A

  • appending, metadata
    • about / Appending and prepending
  • application debugging
    • differentiating, with metadata debugging / Differentiating metadata and application debugging
  • ARM Versatile Platform Baseboard / Understanding the work directory
  • Autoconf based recipes
    • options, adding to / Adding extra options to recipes based on Autoconf
  • Autotools / Adding a package recipe

B

  • .bbappend file
    • about / Common use cases
  • basic variable, metadata
    • setting / The basic variable setting
  • BitBake
    • about / Understanding Poky, Using BitBake, Understanding the BitBake tool
    • tasks / Understanding BitBake's tasks
    • used, for modifying kernel configuration / Customizing the linux-yocto framework
  • bitbake-prserv command / Package feeds
  • BitBake tasks
    • fetching / Constructing the build directory
    • source preparation / Constructing the build directory
    • configuration / Constructing the build directory
    • building / Constructing the build directory
    • installing / Constructing the build directory
    • sysroot, wrapping / Constructing the build directory
    • package, creating / Constructing the build directory
  • Board Support Package (BSP)
    • about / Knowing the local.conf file
  • board support package (BSP) layer
    • about / Powering flexibility with layers
  • board versions, Wandboard
    • Wandboard Solo / Exploring the Wandboard
    • Wandboard Dual / Exploring the Wandboard
    • Wandboard Quad / Exploring the Wandboard
  • build-appliance-image
    • about / Building a target image
  • build-time dependency
    • about / Dependencies
  • build directory
    • about / Detailing the build directory
    • conf / Detailing the build directory
    • downloads / Detailing the build directory
    • sstate-cache / Detailing the build directory
    • tmp / Detailing the build directory
    • constructing / Constructing the build directory
  • build environment
    • setting up / Preparing the build environment
  • buildhistory
    • used, for tracking image / Tracking image, package, and SDK contents
    • used, for tracking SDK / Tracking image, package, and SDK contents
    • used, for tracking packages / Tracking image, package, and SDK contents
  • buildhistory-diff utility
    • about / Tracking image, package, and SDK contents
  • Busybox
    • about / Customizing BusyBox
    • customizing / Customizing BusyBox

C

  • classes
    • about / Exploring metadata
  • CMake / Adding a package recipe
  • commercial licenses
    • about / Commercial licenses
  • conditional appending, metadata
    • about / Conditional appending
  • conditional metadata
    • about / Conditional metadata set
  • conf directory / Detailing the build directory
  • configuration, host system
    • about / Configuring a host system
  • configuration files
    • about / Exploring metadata
  • copyleft
    • about / Understanding copyleft
  • copyleft compliance
    • versus proprietary code / Copyleft compliance versus proprietary code
  • copyleft compliance, achieving with Poky / Using Poky to achieve copyleft compliance
    • license auditing / License auditing
    • source code, providing / Providing the source code
    • compilation scripts, providing / Providing compilation scripts and source code modifications
    • source code modifications, providing / Providing compilation scripts and source code modifications
    • license text, providing / Providing license text
  • core-image-base
    • about / Building a target image
  • core-image-clutter
    • about / Building a target image
  • core-image-directfb
    • about / Building a target image
  • core-image-full-cmdline
    • about / Building a target image
  • core-image-lsb
    • about / Building a target image
  • core-image-lsb-dev
    • about / Building a target image
  • core-image-lsb-sdk
    • about / Building a target image
  • core-image-minimal
    • about / Building a target image
  • core-image-minimal-dev
    • about / Building a target image
  • core-image-minimal-initramfs
    • about / Building a target image
  • core-image-minimal-mtdutils
    • about / Building a target image
  • core-image-multilib-example
    • about / Building a target image
  • core-image-rt
    • about / Building a target image
  • core-image-rt-sdk
    • about / Building a target image
  • core-image-sato
    • about / Building a target image
  • core-image-sato-dev
    • about / Building a target image
  • core-image-sato-sdk
    • about / Building a target image
  • core-image-weston
    • about / Building a target image
  • core-image-x11
    • about / Building a target image
  • Cortex-A9 processor / Exploring the Wandboard
  • custom application
    • developing, on target / Developing applications on the target
    • integrating, with Eclipse / Integrating with Eclipse
  • custom distribution
    • using / Using a custom distribution
  • customization, Busybox / Customizing BusyBox
  • customization, linux-yocto framework / Customizing the linux-yocto framework
  • custom layers
    • creating / Making a new layer
    • metadata, adding to / Adding metadata to the layer

D

  • dash shell
    • about / Defining executable metadata
  • DEB / Generating a root filesystem image
  • Debian
    • about / Configuring a host system
    • Poky, installing on / Installing Poky on Debian
  • Debian Package Manager
    • about / List of supported package formats
  • DEB package format
    • about / List of supported package formats
  • debugging
    • about / Differentiating metadata and application debugging
    • metadata debugging / Differentiating metadata and application debugging
    • application debugging / Differentiating metadata and application debugging
    • with GDB / Using the GNU Project Debugger for debugging
  • debugging, packages
    • about / Debugging packaging
  • dependency
    • about / Dependencies
    • build-time dependency / Dependencies
    • runtime dependency / Dependencies
  • DEPENDS variable / Dependencies
  • deploy directory / Exploring the temporary build directory
  • devshell
    • using / Utilizing a development shell
  • distribution layer
    • about / Powering flexibility with layers
  • DISTRO_FEATURES variable
    • versus, MACHINE_FEATURES variable / Machine features versus distro features
  • DISTRO_FEATURES variable, supported values
    • alsa / Using a custom distribution
    • bluetooth / Using a custom distribution
    • cramfs / Using a custom distribution
    • ext2 / Using a custom distribution
    • ipsec / Using a custom distribution
    • ipv6 / Using a custom distribution
    • irda / Using a custom distribution
    • keyboard / Using a custom distribution
    • nfs / Using a custom distribution
    • opengl / Using a custom distribution
    • pci / Using a custom distribution
    • pcmcia / Using a custom distribution
    • ppp / Using a custom distribution
    • smbfs / Using a custom distribution
    • systemd / Using a custom distribution
    • usbgadget / Using a custom distribution
    • usbhost / Using a custom distribution
    • wayland / Using a custom distribution
    • wifi / Using a custom distribution
  • Dora / Explaining package versioning
  • downloads directory / Detailing the build directory
  • do_compile task / Understanding BitBake's tasks
  • do_configure task / Understanding BitBake's tasks
  • do_fetch task / Understanding BitBake's tasks
  • do_install task / Understanding BitBake's tasks
  • do_install_append function / Adding extra files to the existing packages
  • do_package task / Understanding BitBake's tasks
  • do_patch task / Understanding BitBake's tasks
  • do_unpack task / Understanding BitBake's tasks
  • Dropbear / Creating an image

E

  • Eclipse
    • custom application, integrating with / Integrating with Eclipse
    • about / Integrating with Eclipse
  • End-user License Agreement (EULA) / Using Wandboard with the Yocto Project
  • executable metadata
    • defining / Defining executable metadata

F

  • Fedora
    • about / Configuring a host system
    • Poky, installing on / Installing Poky on Fedora
  • fetcher backend
    • about / Fetching the source code
  • file inclusion, metadata
    • about / File inclusion
  • files
    • adding, to existent packages / Adding extra files to the existing packages
  • file searching paths
    • about / Understanding file searching paths
  • framebuffer
    • about / Using a custom distribution
  • Freescale ARM BSP
    • about / Discovering Freescale ARM BSP
    • meta-fsl-arm / Discovering Freescale ARM BSP
    • meta-fsl-arm-extra / Discovering Freescale ARM BSP

G

  • GDB
    • used, for debugging / Using the GNU Project Debugger for debugging
    • about / Using the GNU Project Debugger for debugging
  • generic SDK
    • about / Generic SDK – meta-toolchain
  • Gentoo
    • about / Understanding the BitBake tool
  • Gentoo Portage package system
    • about / The alliance of OpenEmbedded Project and Yocto Project
  • Git
    • URL / Downloading the Poky source code
  • Git repository
    • about / Fetching the source code, Git repositories
  • GNU Compiler Collection (GCC) / Understanding copyleft
  • GNU Make
    • about / Understanding the BitBake tool
  • GPLv2 license / Understanding copyleft
  • GPLv2.1license / Understanding copyleft
  • GPLv3 license / Understanding copyleft
  • GPLv3 licensing / Building an image using Hob
  • GStreamer Ugly Plug-ins / Commercial licenses

H

  • Hob
    • used, for building image / Building an image using Hob
    • used, for customizing image / Customizing an image with Hob
  • host system
    • configuring / Configuring a host system
    • Poky, installing on Debian / Installing Poky on Debian
    • Poky, installing on Fedora / Installing Poky on Fedora

I

  • image
    • building, Hob used / Building an image using Hob
    • customizing, Hob used / Customizing an image with Hob
    • tracking, buildhistory used / Tracking image, package, and SDK contents
    • creating / Creating an image
    • building, for Wandboard / Building an image for Wandboard
  • image-based SDK
    • using / Using an image-based SDK, Using a SDK
  • IMAGE_FEATURES variable / Using package feeds
    • dbg-pkgs / Creating an image
    • dev-pkgs / Creating an image
    • doc-pkgs / Creating an image
    • nfs-server / Creating an image
    • read-only-rootfs / Creating an image
    • splash / Creating an image
    • ssh-server-dropbear / Creating an image
    • ssh-server-openssh / Creating an image
    • staticdev-pkgs / Creating an image
    • tools-debug / Creating an image
    • tools-profile / Creating an image
    • tools-sdk / Creating an image
    • tools-testapps / Creating an image
    • x11 / Creating an image
    • x11-base / Creating an image
    • x11-sato / Creating an image
  • immediate variable expansion, metadata
    • about / Immediate variable expansion
  • include directive
    • about / File inclusion
  • inheritance system, metadata
    • about / The inheritance system
  • inherit directive
    • about / The inheritance system
  • installation, Poky
    • on Debian / Installing Poky on Debian
    • on Fedora / Installing Poky on Fedora
  • IPK / Generating a root filesystem image
  • IPK package format
    • about / List of supported package formats
  • Itsy Package Management System
    • about / List of supported package formats

K

  • kernel configuration
    • modifying, SDK used / Customizing the linux-yocto framework
    • modifying, BitBake used / Customizing the linux-yocto framework

L

  • LAYERDEPENDS variable
    • about / Making a new layer
  • layers
    • about / Powering flexibility with layers
    • software layer / Powering flexibility with layers
    • board support package (BSP) layer / Powering flexibility with layers
    • distribution layer / Powering flexibility with layers
    • source code, detailing / Detailing the layer's source code
    • meta layers, adding / Adding meta layers
    • custom layers, creating / Making a new layer
  • layers, properties
    • Name property / Powering flexibility with layers
    • Path property / Powering flexibility with layers
    • Priority property / Powering flexibility with layers
  • LAYERVERSION variable
    • about / Making a new layer
  • license compliance
    • guidelines / Some guidelines for license compliance
  • LICENSE variable, package license / Managing software licensing with Poky
  • LICENSE_FLAGS variable / Commercial licenses
  • LIC_FILES_CHKSUM variable, package license / Managing software licensing with Poky
  • linux-yocto framework
    • customizing / Customizing the linux-yocto framework
  • local.conf file
    • about / Knowing the local.conf file
  • logging functions
    • about / Logging information during task execution
  • logging functions, Python
    • bb.fatal / Logging information during task execution
    • bb.error / Logging information during task execution
    • bb.warn / Logging information during task execution
    • bb.note / Logging information during task execution
    • bb.plain / Logging information during task execution
    • bb.debug / Logging information during task execution
  • logging functions, Shell Script
    • bbfatal / Logging information during task execution
    • bberror / Logging information during task execution
    • bbwarn / Logging information during task execution
    • bbnote / Logging information during task execution
    • bbplain / Logging information during task execution
    • bbdebug / Logging information during task execution

M

  • machine definition
    • creating / Writing a machine definition
    • TARGET_ARCH variable / Writing a machine definition
    • PREFERRED_PROVIDER_virtual/kernel variable / Writing a machine definition
    • SERIAL_CONSOLES variable / Writing a machine definition
    • MACHINE_FEATURES variable / Writing a machine definition
    • KERNEL_IMAGETYPE variable / Writing a machine definition
    • IMAGE_FSTYPES variable / Writing a machine definition
  • MACHINE variable
    • about / Knowing the local.conf file
  • MACHINE_FEATURES variable
    • acpi / Writing a machine definition
    • alsa / Writing a machine definition
    • apm / Writing a machine definition
    • bluetooth / Writing a machine definition
    • ext2 / Writing a machine definition
    • irda / Writing a machine definition
    • keyboard / Writing a machine definition
    • pci / Writing a machine definition
    • pcmcia / Writing a machine definition
    • screen / Writing a machine definition
    • serial / Writing a machine definition
    • touchscreen / Writing a machine definition
    • usbgadget / Writing a machine definition
    • usbhost / Writing a machine definition
    • wifi / Writing a machine definition
    • versus, DISTRO_FEATURES variable / Machine features versus distro features
  • meta-fsl-arm, BSP layers / Discovering Freescale ARM BSP
  • meta-fsl-arm-extra, BSP layers / Discovering Freescale ARM BSP
  • meta-toolchain
    • about / Generic SDK – meta-toolchain
  • meta-yocto
    • about / Metadata
  • meta-yocto-bsp
    • about / Metadata, Knowing the local.conf file
  • metadata
    • about / Using BitBake, Metadata
    • meta-yocto / Metadata
    • meta-yocto-bsp / Metadata
    • exploring / Exploring metadata
    • configuration files / Exploring metadata
    • classes / Exploring metadata
    • recipes / Exploring metadata
    • parsing / Parsing metadata
    • using / Using metadata
    • working with / Working with metadata
    • basic variable, setting / The basic variable setting
    • variable expansion / Variable expansion
    • default value, setting with ?= operator / Setting a default value using ?=
    • default value, setting with ??= operator / Setting a default value using ??=
    • immediate variable expansion / Immediate variable expansion
    • prepending / Appending and prepending
    • appending / Appending and prepending
    • conditional metadata / Conditional metadata set
    • conditional appending / Conditional appending
    • file inclusion / File inclusion
    • Python variable expansion / Python variable expansion
    • executable metadata, defining / Defining executable metadata
    • Python functions, defining / Defining Python functions in the global namespace
    • inheritance system / The inheritance system
    • adding, to custom layers / Adding metadata to the layer
  • metadata, classification
    • Configuration / Using metadata
    • Classes / Using metadata
    • Recipes / Using metadata
  • metadata debugging
    • differentiating, with application debugging / Differentiating metadata and application debugging
  • meta layers
    • adding / Adding meta layers
    • URL / Adding meta layers
  • MIRRORS variable
    • about / Optimizing the source code download
  • mklibs process
    • about / Generating a root filesystem image

N

  • network access
    • disabling / Disabling network access
    • disabling, reasons / Disabling network access

O

  • += operator
    • about / Appending and prepending
  • -= operator
    • about / Immediate variable expansion
  • .= operator
    • about / Appending and prepending
  • =+ operator
    • about / Appending and prepending
  • =.operator
    • about / Appending and prepending
  • ?= operator
    • used, for setting default value of metadata / Setting a default value using ?=
  • ??= operator
    • used, for setting default value of metadata / Setting a default value using ??=
  • OpenedHand Sato / Creating an image
  • OpenEmbedded-Core
    • about / OpenEmbedded-Core
  • OpenEmbedded project
    • about / The alliance of OpenEmbedded Project and Yocto Project
  • OpenEmbedded Project and Yocto Project alliance
    • about / The alliance of OpenEmbedded Project and Yocto Project
  • OpenMoko
    • about / List of supported package formats
  • OpenSSH source code
    • about / Fetching the source code
  • OpenWrt
    • about / List of supported package formats
  • OpenZaurus project
    • about / The alliance of OpenEmbedded Project and Yocto Project
  • Opkg fork
    • about / List of supported package formats
  • options
    • adding, to Autoconf based recipes / Adding extra options to recipes based on Autoconf
  • overrides
    • about / Conditional metadata set

P

  • package feed
    • about / Package feeds
    • using / Using package feeds
  • package recipe
    • adding / Adding a package recipe
  • packages
    • tracking, buildhistory used / Tracking image, package, and SDK contents
    • debugging / Debugging packaging
    • patch, applying over / Applying a patch
    • files, adding to / Adding extra files to the existing packages
  • package versioning
    • about / Explaining package versioning
  • PACKAGE_CLASSES variable / Choosing a package format
  • PACKAGE_FEED_URIS variable / Using package feeds
  • patch
    • applying, over packages / Applying a patch
  • PE variable / Explaining package versioning
  • Poky
    • about / Understanding Poky
    • objective / Understanding Poky
    • BitBake, using / Using BitBake
    • OpenEmbedded-Core metadata collection / OpenEmbedded-Core
    • metadata / Metadata
    • installing, on Debian / Installing Poky on Debian
    • installing, on Fedora / Installing Poky on Fedora
    • used, for managing software licensing / Managing software licensing with Poky
  • poky directory
    • about / Downloading the Poky source code
  • Poky SDK
    • about / Working with the Poky SDK
    • image-based SDK, using / Using an image-based SDK, Using a SDK
    • generic SDK / Generic SDK – meta-toolchain
  • Poky source code
    • downloading / Downloading the Poky source code
  • Portage
    • about / Understanding the BitBake tool
  • postinst script / Running code during package installation
  • postrm script / Running code during package installation
  • preinst script / Running code during package installation
  • prelink process
    • about / Generating a root filesystem image
  • PREMIRRORS variable
    • about / Optimizing the source code download
  • prepending, metadata
    • about / Appending and prepending
  • prerm script / Running code during package installation
  • PR variable / Explaining package versioning
  • psplash / Creating an image
  • Python functions, metadata
    • defining / Defining Python functions in the global namespace
  • Python variable expansion, metadata
    • about / Python variable expansion

Q

  • QEMU
    • target image, executing in / Running images in QEMU
    • about / Running images in QEMU
  • qemuarm-tcbootstrap directory
    • about / Understanding the sysroot directories
  • qemuarm directory
    • about / Understanding the sysroot directories
  • QMake / Adding a package recipe
  • qt4e-demo-image
    • about / Building a target image

R

  • RDEPENDS variable / Dependencies
  • recipe feature configuration
    • modifying / Changing recipe feature configuration
  • recipes
    • about / Exploring metadata
    • preferring / Preferring and providing recipes
    • providing / Preferring and providing recipes
  • Red Hat Package Manager
    • about / List of supported package formats
  • remote file downloads
    • about / Remote file downloads
  • require directive
    • about / File inclusion
  • root filesystem image
    • generating / Generating a root filesystem image
  • RPM / Generating a root filesystem image
  • RPM package format
    • about / List of supported package formats
  • runqemu script
    • about / Running images in QEMU
  • runtime dependency
    • about / Dependencies

S

  • SDK
    • tracking, buildhistory used / Tracking image, package, and SDK contents
    • used, for modifying kernel configuration / Customizing the linux-yocto framework
  • shared state cache
    • about / Understanding shared state cache
  • smart install command / Using package feeds
  • smart query command / Using package feeds
  • software development kit (SDK)
    • about / Deciphering the software development kit
  • software layer
    • about / Powering flexibility with layers
  • software licensing
    • managing, Poky used / Managing software licensing with Poky
  • source code
    • fetching / Fetching the source code
    • remote file downloads / Remote file downloads
    • Git repository / Git repositories
    • other repositories / Other repositories
    • network access, disabling / Disabling network access
  • source code, layers
    • detailing / Detailing the layer's source code
  • source code download
    • optimizing / Optimizing the source code download
  • SRCREV variable / Git repositories
  • sstate-cache directory / Detailing the build directory
  • sstate-cache package / Understanding shared state cache
  • supported package formats
    • using / Using supported package formats
    • RPM / List of supported package formats
    • DEB / List of supported package formats
    • IPK / List of supported package formats
    • TAR / List of supported package formats
    • selecting / Choosing a package format
    • scripts, using / Running code during package installation
    • code, running / Running code during package installation
  • sysroots directory / Exploring the temporary build directory
    • about / Understanding the sysroot directories
    • qemuarm-tcbootstrap directory / Understanding the sysroot directories
    • x86_64-linux directory / Understanding the sysroot directories
    • qemuarm directory / Understanding the sysroot directories

T

  • target image
    • building / Building a target image
    • build-appliance-image / Building a target image
    • core-image-base / Building a target image
    • core-image-minimal / Building a target image
    • core-image-minimal-dev / Building a target image
    • core-image-minimal-initramfs / Building a target image
    • core-image-minimal-mtdutils / Building a target image
    • core-image-full-cmdline / Building a target image
    • core-image-lsb / Building a target image
    • core-image-lsb-dev / Building a target image
    • core-image-lsb-sdk / Building a target image
    • core-image-clutter / Building a target image
    • core-image-directfb / Building a target image
    • core-image-weston / Building a target image
    • core-image-x11 / Building a target image
    • qt4e-demo-image / Building a target image
    • core-image-rt / Building a target image
    • core-image-rt-sdk / Building a target image
    • core-image-sato / Building a target image
    • core-image-sato-dev / Building a target image
    • core-image-sato-sdk / Building a target image
    • core-image-multilib-example / Building a target image
    • executing, in QEMU / Running images in QEMU
  • TAR package format
    • about / List of supported package formats
  • tasks
    • about / Understanding BitBake's tasks
    • do_fetch task / Understanding BitBake's tasks
    • do_unpack task / Understanding BitBake's tasks
    • do_patch task / Understanding BitBake's tasks
    • do_configure task / Understanding BitBake's tasks
    • do_compile task / Understanding BitBake's tasks
    • do_install task / Understanding BitBake's tasks
    • do_package task / Understanding BitBake's tasks
    • extending / Extending tasks
  • temporary build directory
    • exploring / Exploring the temporary build directory
    • deploy / Exploring the temporary build directory
    • work / Exploring the temporary build directory
  • TFTP server / Customizing BusyBox
  • tmp directory / Detailing the build directory
  • toolchain
    • about / Deciphering the software development kit

U

  • use cases
    • about / Common use cases

V

  • variable expansion, metadata
    • about / Variable expansion
  • variables scope
    • about / Understanding the variables scope

W

  • Wandboard
    • about / Exploring the Wandboard
    • board versions / Exploring the Wandboard
    • URL / Exploring the Wandboard
    • using, with Yocto Project / Using Wandboard with the Yocto Project
    • image, building / Building an image for Wandboard
    • booting, from SD card / Booting Wandboard from the SD card
  • work directory / Exploring the temporary build directory
    • about / Understanding the work directory
    • <sources> / Understanding the work directory
    • image / Understanding the work directory
    • packages / Understanding the work directory
    • packages-split / Understanding the work directory
    • temp / Understanding the work directory

X

  • x86_64-linux directory
    • about / Understanding the sysroot directories

Y

  • Yocto Project
    • about / What is the Yocto Project?
    • delineating / Delineating the Yocto Project
    • Poky / Understanding Poky