Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
课程大纲
- 开始
- 取得 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 小时