Embedded Linux

  1. Embedded Linux Build Systems
    1. Build System Fundamentals
      1. Role of a Build System
        1. Automating Build Processes
          1. Dependency Management
            1. Reproducibility
              1. Configuration Management
              2. Build System Categories
                1. Distribution-Based Systems
                  1. Source-Based Systems
                    1. Hybrid Approaches
                  2. Buildroot
                    1. Philosophy and Architecture
                      1. Simplicity and Minimalism
                        1. Quick Prototyping
                          1. Single Root Filesystem
                          2. Getting Started with Buildroot
                            1. Source Code Acquisition
                              1. Initial Configuration
                                1. First Build
                                2. Configuration System
                                  1. Kconfig Interface
                                    1. Configuration Options
                                      1. Saving and Loading Configurations
                                      2. Building a System
                                        1. Build Process Overview
                                          1. Output Artifacts
                                            1. Build Directory Structure
                                            2. Customizing the System
                                              1. Adding Custom Packages
                                                1. Package Directory Structure
                                                  1. Package Configuration Files
                                                    1. Package Makefiles
                                                    2. Post-build Scripts
                                                      1. Customization Hooks
                                                        1. File System Modifications
                                                        2. Overlay Directories
                                                          1. Root Filesystem Overlays
                                                            1. Configuration Overlays
                                                          2. Advanced Buildroot Features
                                                            1. External Trees
                                                              1. Package Feeds
                                                                1. SDK Generation
                                                              2. The Yocto Project and OpenEmbedded
                                                                1. Project Overview
                                                                  1. History and Goals
                                                                    1. Community and Governance
                                                                      1. Relationship to OpenEmbedded
                                                                      2. Core Concepts
                                                                        1. Layers
                                                                          1. Layer Structure and Purpose
                                                                            1. Layer Dependencies
                                                                              1. Layer Priorities
                                                                              2. Recipes
                                                                                1. Recipe Structure
                                                                                  1. BitBake Recipe Syntax
                                                                                    1. Recipe Variables
                                                                                    2. BitBake (The Build Engine)
                                                                                      1. Task Execution Model
                                                                                        1. Dependency Resolution
                                                                                          1. Parallel Execution
                                                                                          2. Metadata
                                                                                            1. Configuration Files
                                                                                              1. Class Files
                                                                                                1. Include Files
                                                                                              2. Setting up a Yocto Build Environment
                                                                                                1. System Requirements
                                                                                                  1. Source Code Acquisition
                                                                                                    1. Build Directory Setup
                                                                                                      1. Configuration Files
                                                                                                        1. local.conf
                                                                                                          1. bblayers.conf
                                                                                                            1. site.conf
                                                                                                          2. Building Images
                                                                                                            1. Image Types
                                                                                                              1. Build Commands
                                                                                                                1. Build Output Structure
                                                                                                                  1. Image Deployment
                                                                                                                  2. Creating Custom Content
                                                                                                                    1. Creating Custom Layers
                                                                                                                      1. Layer Creation Tools
                                                                                                                        1. Layer Structure
                                                                                                                          1. Layer Configuration
                                                                                                                          2. Writing Custom Recipes
                                                                                                                            1. Recipe Templates
                                                                                                                              1. Source Handling
                                                                                                                                1. Build Tasks
                                                                                                                                2. Modifying Existing Recipes
                                                                                                                                  1. Recipe Extensions
                                                                                                                                    1. Append Files
                                                                                                                                      1. Patches
                                                                                                                                    2. Package Management
                                                                                                                                      1. Package Formats
                                                                                                                                        1. Package Feeds
                                                                                                                                          1. Runtime Package Management
                                                                                                                                          2. Advanced Yocto Features
                                                                                                                                            1. SDK Generation
                                                                                                                                              1. eSDK (Extensible SDK)
                                                                                                                                                1. Toaster Web Interface
                                                                                                                                                  1. Devtool Workflow
                                                                                                                                                2. Other Build Systems
                                                                                                                                                  1. OpenWrt
                                                                                                                                                    1. Router and Network Focus
                                                                                                                                                      1. Package System
                                                                                                                                                      2. PTXdist
                                                                                                                                                        1. Industrial Focus
                                                                                                                                                          1. Configuration System
                                                                                                                                                          2. Custom Build Systems
                                                                                                                                                            1. Makefile-Based Systems
                                                                                                                                                              1. Script-Based Systems