答案1
据我所知,BBB 对 u-boot 和 linux-kernel 的支持已经完全上游化。
没有什么是真正完全“完整”的,尤其是在开源领域。
难道我不应该能够使用合适的工具链构建稳定的内核/u-boot 并期望它能够在 BBB 上工作吗?
是的- “稳定”和“工作”的定义。
- 对于大约 99% 的用户来说,vanilla Linux 内核将在真正的 BBB 上绝对稳定地工作。
- U-Boot 也是如此。
如果是这样,为什么会有如此多的补丁存储库?
正如前面提到的,没有什么是真正的完毕在开源中。对于某些用户来说重要的某些方面可能由于各种原因而不是上游。这些可能是政治原因、优先事项或其他原因。
如果它们确实对普通用户来说是必不可少的,为什么它还没有被上游化呢?
下游存储库的存在并不意味着它们对于“普通用户”来说是必不可少的。实际上,在生命周期的这个阶段,它们更像是服务于特定需求的存储库。例如,Robert Nelson 的 git 树包含一个相当薄的补丁集,该补丁集的维护是为了特定用户组的利益:希望向后兼容早期 beagleboard.org 固件的用户。虽然 TI 试图维持其 SDK 的某些商业目标,并可能提供额外的东西,例如专有的加速 3D 图形驱动程序。
认识到适用于该领域的某些概念非常重要。
- 有许多“完成”、“完成”和“作品”的定义
- 随着时间的推移,大多数功能将达到在职的状态
- 不太流行或记录较少的硬件部件可能永远不会在职的
- 较新的硬件可能需要对上游进行更改。
- 举个例子,4.19 将添加对“比格骨增强型”U-Boot 也会在这方面看到一些变化。
- 没有人强迫下游向上游提交补丁,相反,大多数时候让上游接受补丁是一项重要的工作,甚至可能需要重写大部分代码。
我想表达的是,事情并不是非黑即白的。 Linux 内核中的 AM335x 支持实际上投入了大量工作,以获得所有人类可行的上游功能。最后,您需要自己决定普通内核提供的功能是否足以满足您的用例。只有你才能做出这个决定。