BeagleBone Black 运行上游稳定内核/u-boot,无需任何补丁

BeagleBone Black 运行上游稳定内核/u-boot,无需任何补丁

我已经使用预构建的图像探索 BeagleBone Black (BBB) 一段时间了。现在我正在尝试编译和部署我自己的内核。

在那次搜索中,我发现 TI 有自己的存储库这里还有另一个流行的补丁集存储库这里(以及许多其他)两者都在主线上有一些额外的补丁。

据我所知,BBB 对 u-boot 和 linux-kernel 的支持已经完全上游化。难道我不应该能够使用合适的工具链构建稳定的内核/u-boot 并期望它能够在 BBB 上工作吗?如果是这样,为什么会有如此多的补丁存储库?如果它们确实对普通用户来说是必不可少的,为什么它还没有被上游化呢?

答案1

据我所知,BBB 对 u-boot 和 linux-kernel 的支持已经完全上游化。

没有什么是真正完全“完整”的,尤其是在开源领域。

难道我不应该能够使用合适的工具链构建稳定的内核/u-boot 并期望它能够在 BBB 上工作吗?

是的- “稳定”和“工作”的定义。

  • 对于大约 99% 的用户来说,vanilla Linux 内核将在真正的 BBB 上绝对稳定地工作。
  • U-Boot 也是如此。

如果是这样,为什么会有如此多的补丁存储库?

正如前面提到的,没有什么是真正的完毕在开源中。对于某些用户来说重要的某些方面可能由于各种原因而不是上游。这些可能是政治原因、优先事项或其他原因。

如果它们确实对普通用户来说是必不可少的,为什么它还没有被上游化呢?

下游存储库的存在并不意味着它们对于“普通用户”来说是必不可少的。实际上,在生命周期的这个阶段,它们更像是服务于特定需求的存储库。例如,Robert Nelson 的 git 树包含一个相当薄的补丁集,该补丁集的维护是为了特定用户组的利益:希望向后兼容早期 beagleboard.org 固件的用户。虽然 TI 试图维持其 SDK 的某些商业目标,并可能提供额外的东西,例如专有的加速 3D 图形驱动程序。

认识到适用于该领域的某些概念非常重要。

  • 许多“完成”、“完成”和“作品”的定义
  • 随着时间的推移,大多数功能将达到在职的状态
  • 不太流行或记录较少的硬件部件可能永远不会在职的
  • 较新的硬件可能需要对上游进行更改。
  • 没有人强迫下游向上游提交补丁,相反,大多数时候让上游接受补丁是一项重要的工作,甚至可能需要重写大部分代码。

我想表达的是,事情并不是非黑即白的。 Linux 内核中的 AM335x 支持实际上投入了大量工作,以获得所有人类可行的上游功能。最后,您需要自己决定普通内核提供的功能是否足以满足您的用例。只有你才能做出这个决定。

相关内容