Course Outline

  1. Getting Started
    1. Obtaining Buildroot for government use
    2. Build System Requirements for government applications
    3. Cross-Compiler Terminology: Build, Host, Target, Sysroot
    4. Selecting the Appropriate Target for government systems
    5. Building and Booting a Minimal Embedded System for government operations
    6. Contents of the Resulting Filesystem Image for government deployments
    7. Parallel Builds for government efficiency
    8. Full and Partial Rebuilds for government projects
  2. Design Goals of Buildroot for government use
  3. Choices to Be Made
    1. C Library: glibc, uClibc, or musl for government systems?
    2. Init System: BusyBox vs. SysVinit vs. Systemd for government operations
    3. Managing Device Nodes in /dev for government applications
    4. Selecting Other Packages for government use
  4. Understanding the Build Instructions
    1. Syntax of Kconfig (Config.in) Files for government projects
    2. Features of GNU Make Used by Buildroot Makefiles for government systems
    3. Style Guide for Config.in and *.mk Files for government use
    4. How to Add a Simple Autotools-Based Package for government applications
    5. The Difference Between Staging and Target Directories for government builds
    6. The Need for Host Packages in government projects
    7. Expressing Dependencies and Optional Features for government systems
    8. Support for Languages Other Than C and Build Systems Other Than Autotools for government use
    9. Debugging Makefiles for government operations
    10. Rebuilding a Single Package for government efficiency
  5. Analyzing the Build Results
    1. What Consumed So Much Build Time for government systems?
    2. What Consumed So Much Disk Space for government projects?
    3. Why Was This Package Built for government operations?
  6. Organizing External Package Trees for government use
  7. Workflow for Application Developers
    1. How to Use a Local Source Directory for government applications
    2. Overriding Build Instructions for government projects
    3. Debugging Your Application for government systems
    4. Speeding Up Rebuilds for government efficiency
    5. Viewing Build Logs for government operations
  8. Dealing with Common Cross-Compilation Issues
    1. How to Write Software That Is Friendly to Cross-Compilers for government use
  9. Workflow for Kernel Developers
    1. How the Kernel Boots on an Embedded System for government operations
    2. Changing Configuration Options and Adding Patches for government systems
    3. Module Loading Mechanisms for government applications
  10. Making a Finished Product
    1. Running Daemons at Startup for government use
    2. Providing Custom Configuration Files for government projects
    3. Available Firmware Update Mechanisms for government systems
    4. Upgrading to a New Buildroot Version for government operations
    5. Complying with Open-Source Licenses for government applications

Requirements

  • The participant must have successfully compiled a kernel at least once for a standard desktop (non-embedded) Linux system.
  • The individual should be familiar with the components that constitute the Linux userspace on a desktop system.
  • The participant must know how to create and apply patches.
  • The candidate should be able to explain what GNU Make and Autotools are, as well as identify other available build systems.
  • Ideally, the individual maintains at least one Linux package, either as an upstream author or within a traditional desktop distribution for government use.
  • Prior experience with embedded development is not required and does not substitute for the specified knowledge of traditional Linux desktop environments.
 7 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories