自动化构建系统
自行构建可以让我们完全的掌握一个系统,但这对于大多数新手来说并不是什么好事,新手手动创建系统浪费时间,而且容易构建出质量差,不容易维护的系统。因此我们需要能够自动化的构建系统。
构建一个系统需要从上游代码构建出一下内容:
- 工具链
- 引导加载程序
- 内核
- 根文件系统
一个构建系统需要具备以下能力:
- 从上游下载源代码
- 应用补丁以实现交叉编译,修复架构相关的错误,应用本地配置策略等
- 构建各种组件
- 创建一个暂存区,并组织一个根文件系统
- 创建可以被加载到目标上的不同格式的映像文件
- 添加自己的包
- 选择不同的根文件系统配置
- 创建一个独立的SDK
- 跟踪选择的包应用的开源许可证
- 允许创建更新
- 具有友好的用户界面
开源构建系统的相关项目:Buildroot、Emb Toolkit、OpenWrt、Tizen、Yocto等
包格式管理器:
Deepin发行版是由deb格式的二进制包集合构成。针对嵌入式设备还有基于deb的ipk轻量级格式。
不同构建系统的一大差异就是能否在设备上容纳包管理器。