2015-07-11 41 views
-1

内核开发人员如何在非常特定的硬件上测试更改?如果他们没有那种特定类型的硬件,他们如何找出问题发生的地方?在Linux内核中如何测试硬件特定的错误和功能?

+0

你的问题是相当困难的理解,所以我做了一些语法变化。如果我无意中更改了原始问题的含义,请进行编辑。 – tangrs

回答

0

一般来说,负责编写驱动程序针对特定硬件的内核开发者也恰好是谁拥有该硬件的测试和人。

如果开发商遇到的错误(或者如果有人报告bug)上的硬件,他通常是解决它的人。要求某人修理或维护一个他不拥有的硬件的驱动程序是愚蠢的。对于更高级别的内核功能,这里是Linux开发范例的起点。 Linux采用合并窗口策略进行发布,因为要求每个开发人员在每个可能的硬件和软件组合的组合上测试其变化是不现实的。

相反,一个主要版本之后,开辟了2周左右,开发人员可以在显著的变化,新的驱动程序和功能,推动合并窗口。合并窗口关闭后,将不再接受新更改的修补程序。

在此期间,这里被关闭合并窗口,开发者有机会测试自己的硬件合并后的新代码和报告bug和破损。通常,开发人员会与引入更改的人员一起修复该错误。开发人员现在可以将修补程序发送到下一个候选版本中。

大约每周发布一个新候选版本。当Linus对这个版本引入的大多数bug已经修复感到高兴时,他发布了一个重要版本,并且这个循环再次开始。

换句话说,你的问题的答案是他们没有。没有一个开发者负责任何事情,也没有人期望为其他人解决问题。开发人员只负责维护的内核部分。

0

我确实为某些我没有的硬件(以及其他内核开发人员没有的硬件)维护驱动程序。

变化这样的驱动程序必须做非常小心:

  • 有时它可以测试类似的硬件可用的变化。
  • 当用户报告问题时,可能会要求此用户测试更改,或者找到具有相同硬件的其他用户。
  • 当一个真正的Bug(涉及安全或其他方式)必须是固定的,最好的解决办法是申请的最佳变更未经测试,和希望。
  • 否则,只是不要做出改变。