Buildroot: a Firmware Generator for Embedded Systems ( buildroot | 7 hours )

Prerequisites:
  • 参与者必须至少为传统桌面 (非嵌入式) Linux 系统构建一次内核。
  • 知道桌面系统上的 Linux 用户空间由哪些元件组成。
  • 知道如何生成和使用补丁。
  • 必须能够解释什么是 GNU Make、Autotools、存在哪些其他构建系统。
  • 理想情况下,至少维护一个 Linux 包,无论是作为上游作者,还是在任何传统的 Linux 桌面发行版中。
  • 不需要具有嵌入式开发经验,也不能替代上面指定的有关传统 Linux 桌面的知识。
Overview:

Buildroot 是一个开源专案,其中包含生成交叉编译工具链、可自定义根文件系统映像和用于嵌入式设备的 Linux 内核的脚本。在本实践课程中,参与者将学习如何使用它:

  • 如何选择进入root档系统的软体。
  • 如何添加新包和修改现有包。
  • 如何添加对新嵌入式主板的支援。

在课程期间,将生成可启动的文件系统映像。远程课程使用 QEMU 模拟器提供,而在课堂上,可以使用 QEMU 或培训师选择的真实嵌入式板。

其他具有类似目标的专案包括 Yocto 专案和 OpenWRT。请使用这些演示文稿来确定哪一个是满足您需求的正确选择。

Course Outline:
  1. 开始
    1. 取得 Buildroot
    2. 构建系统要求
    3. 跨编译器术语:build、host、target、sysroot
    4. 选择正确的目标
    5. 构建一个最小的嵌入式系统并启动它
    6. 生成的档案系统映像的内容
    7. 并行构建
    8. 完全重建和部分重建
  2. 设计目标 Buildroot
  3. 要做出的选择
    1. C 库:glibc 或 uClibc 还是 musl?
    2. Init 系统:busybox vs sysVinit vs systemd
    3. 在 /dev 中管理设备节点
    4. 选择其他套件
  4. 了解构建说明
    1. Kconfig (Confog.in) 档的语法
    2. Buidroot Makefile 使用的 GNU Make 功能
    3. Config.in 和 *.mk 文件的样式指南
    4. 如何添加基于 Autotools 的简单包
    5. 暂存目录和目标目录之间的区别
    6. 对主机包的需求
    7. 如何表达依赖项和可选功能
    8. 支援 C 以外的语言和除 Autotools 以外的构建系统
    9. 调试Makefile
    10. 重新构建单个套件
  5. 分析构建结果
    1. 是什么花费了这么多的构建时间?
    2. 是什么占用了这么多磁碟空间?
    3. 为什么要构建此包?
  6. 组织外部包树
  7. 应用程式开发人员的工作流程
    1. 如何使用本地源目录
    2. 覆盖构建指令
    3. 调试应用程式
    4. 加快重建速度
    5. 查看构建日志
  8. 处理常见的交叉编译问题
    1. 如何编写自己的软体,使其对交叉编译器友好
  9. 面向内核开发人员的工作流程
    1. 内核如何在嵌入式系统上引导
    2. 更改配置选项和添加补丁
    3. 模组载入机制
  10. 制作成品
    1. 在启动时运行守护程式
    2. 提供自订配置档
    3. 可用的韧体更新机制
    4. 升级到新的 Buildroot 版本
    5. 遵守开源许可证
Sites Published:

United Arab Emirates - Buildroot: a Firmware Generator for Embedded Systems

Qatar - Buildroot: a Firmware Generator for Embedded Systems

Egypt - Buildroot: a Firmware Generator for Embedded Systems

Saudi Arabia - Buildroot: a Firmware Generator for Embedded Systems

South Africa - Buildroot: a Firmware Generator for Embedded Systems

Brasil - Buildroot: a Firmware Generator for Embedded Systems

Canada - Buildroot: a Firmware Generator for Embedded Systems

中国 - Buildroot: a Firmware Generator for Embedded Systems

香港 - Buildroot: a Firmware Generator for Embedded Systems

澳門 - Buildroot: a Firmware Generator for Embedded Systems

台灣 - Buildroot: a Firmware Generator for Embedded Systems

USA - Buildroot: a Firmware Generator for Embedded Systems

Österreich - Buildroot: a Firmware Generator for Embedded Systems

Schweiz - Buildroot: a Firmware Generator for Embedded Systems

Deutschland - Buildroot: a Firmware Generator for Embedded Systems

Czech Republic - Buildroot: a Firmware Generator for Embedded Systems

Denmark - Buildroot: a Firmware Generator for Embedded Systems

Estonia - Buildroot: a Firmware Generator for Embedded Systems

Finland - Buildroot: a Firmware Generator for Embedded Systems

Greece - Buildroot: a Firmware Generator for Embedded Systems

Magyarország - Buildroot: a Firmware Generator for Embedded Systems

Ireland - Buildroot: a Firmware Generator for Embedded Systems

Israel - Buildroot: a Firmware Generator for Embedded Systems

Luxembourg - Buildroot: a Firmware Generator for Embedded Systems

Latvia - Buildroot: a Firmware Generator for Embedded Systems

España - Buildroot: a Firmware Generator for Embedded Systems

Italia - Buildroot: a Firmware Generator for Embedded Systems

Lithuania - Buildroot: a Firmware Generator for Embedded Systems

Nederland - Buildroot: a Firmware Generator for Embedded Systems

Norway - Buildroot: a Firmware Generator for Embedded Systems

Portugal - Buildroot: a Firmware Generator for Embedded Systems

România - Buildroot: a Firmware Generator for Embedded Systems

Sverige - Buildroot: a Firmware Generator for Embedded Systems

Türkiye - Buildroot: a Firmware Generator for Embedded Systems

Malta - Buildroot: a Firmware Generator for Embedded Systems

Belgique - Buildroot: a Firmware Generator for Embedded Systems

France - Buildroot: a Firmware Generator for Embedded Systems

日本 - Buildroot: a Firmware Generator for Embedded Systems

Australia - Buildroot: a Firmware Generator for Embedded Systems

Malaysia - Buildroot: a Firmware Generator for Embedded Systems

New Zealand - Buildroot: a Firmware Generator for Embedded Systems

Philippines - Buildroot: a Firmware Generator for Embedded Systems

Singapore - Buildroot: a Firmware Generator for Embedded Systems

Thailand - Buildroot: a Firmware Generator for Embedded Systems

Vietnam - Buildroot: a Firmware Generator for Embedded Systems

India - Buildroot: a Firmware Generator for Embedded Systems

Argentina - Buildroot: a Firmware Generator for Embedded Systems

Chile - Buildroot: a Firmware Generator for Embedded Systems

Costa Rica - Buildroot: a Firmware Generator for Embedded Systems

Ecuador - Buildroot: a Firmware Generator for Embedded Systems

Guatemala - Buildroot: a Firmware Generator for Embedded Systems

Colombia - Buildroot: a Firmware Generator for Embedded Systems

México - Buildroot: a Firmware Generator for Embedded Systems

Panama - Buildroot: a Firmware Generator for Embedded Systems

Peru - Buildroot: a Firmware Generator for Embedded Systems

Uruguay - Buildroot: a Firmware Generator for Embedded Systems

Venezuela - Buildroot: a Firmware Generator for Embedded Systems

Polska - Course Outline Buildroot: a Firmware Generator for Embedded Systems

United Kingdom - Buildroot: a Firmware Generator for Embedded Systems

South Korea - Buildroot: a Firmware Generator for Embedded Systems

Pakistan - Buildroot: a Firmware Generator for Embedded Systems

Sri Lanka - Buildroot: a Firmware Generator for Embedded Systems

Bulgaria - Buildroot: a Firmware Generator for Embedded Systems

Bolivia - Buildroot: a Firmware Generator for Embedded Systems

Indonesia - Buildroot: a Firmware Generator for Embedded Systems

Kazakhstan - Buildroot: a Firmware Generator for Embedded Systems

Moldova - Buildroot: a Firmware Generator for Embedded Systems

Morocco - Buildroot: a Firmware Generator for Embedded Systems

Tunisia - Buildroot: a Firmware Generator for Embedded Systems

Kuwait - Buildroot: a Firmware Generator for Embedded Systems

Oman - Buildroot: a Firmware Generator for Embedded Systems

Slovakia - Buildroot: a Firmware Generator for Embedded Systems

Kenya - Buildroot: a Firmware Generator for Embedded Systems

Nigeria - Buildroot: a Firmware Generator for Embedded Systems

Botswana - Buildroot: a Firmware Generator for Embedded Systems

Slovenia - Buildroot: a Firmware Generator for Embedded Systems

Croatia - Buildroot: a Firmware Generator for Embedded Systems

Serbia - Buildroot: a Firmware Generator for Embedded Systems

Bhutan - Buildroot: a Firmware Generator for Embedded Systems

Nepal - Buildroot: a Firmware Generator for Embedded Systems