感谢您发送咨询!我们的团队成员将很快与您联系。
感谢您发送预订!我们的团队成员将很快与您联系。
课程大纲
- 开始
- 取得 Buildroot
- 构建系统要求
- 跨编译器术语:build、host、target、sysroot
- 选择正确的目标
- 构建一个最小的嵌入式系统并启动它
- 生成的档案系统映像的内容
- 并行构建
- 完全重建和部分重建
- 设计目标 Buildroot
- 要做出的选择
- C 库:glibc 或 uClibc 还是 musl?
- Init 系统:busybox vs sysVinit vs systemd
- 在 /dev 中管理设备节点
- 选择其他套件
- 了解构建说明
- Kconfig (Confog.in) 档的语法
- Buidroot Makefile 使用的 GNU Make 功能
- Config.in 和 *.mk 文件的样式指南
- 如何添加基于 Autotools 的简单包
- 暂存目录和目标目录之间的区别
- 对主机包的需求
- 如何表达依赖项和可选功能
- 支援 C 以外的语言和除 Autotools 以外的构建系统
- 调试Makefile
- 重新构建单个套件
- 分析构建结果
- 是什么花费了这么多的构建时间?
- 是什么占用了这么多磁碟空间?
- 为什么要构建此包?
- 组织外部包树
- 应用程式开发人员的工作流程
- 如何使用本地源目录
- 覆盖构建指令
- 调试应用程式
- 加快重建速度
- 查看构建日志
- 处理常见的交叉编译问题
- 如何编写自己的软体,使其对交叉编译器友好
- 面向内核开发人员的工作流程
- 内核如何在嵌入式系统上引导
- 更改配置选项和添加补丁
- 模组载入机制
- 制作成品
- 在启动时运行守护程式
- 提供自订配置档
- 可用的韧体更新机制
- 升级到新的 Buildroot 版本
- 遵守开源许可证
要求
- 参与者必须至少为传统桌面 (非嵌入式) Linux 系统构建一次内核。
- 知道桌面系统上的 Linux 用户空间由哪些元件组成。
- 知道如何生成和使用补丁。
- 必须能够解释什么是 GNU Make、Autotools、存在哪些其他构建系统。
- 理想情况下,至少维护一个 Linux 包,无论是作为上游作者,还是在任何传统的 Linux 桌面发行版中。
- 不需要具有嵌入式开发经验,也不能替代上面指定的有关传统 Linux 桌面的知识。
7 小时