【问题标题】:Testing modules/drivers of Linux kernel running in any target board测试在任何目标板上运行的 Linux 内核的模块/驱动程序
【发布时间】:2015-07-30 19:42:06
【问题描述】:

我们如何测试在目标板上运行的 Linux 内核的模块和驱动程序(如 USB、I2C、HDMI 等)?是否有任何工具/框架可以完成这项工作?我找到了this 线程。谁能给我推荐一个最好的?提前谢谢...

【问题讨论】:

  • 你的实际目标是什么?您打算测试内核的哪一部分?您到底想通过这个测试达到什么目的?
  • @SamProtsenko .. 我的目标是确保所有设备驱动程序和插入的模块在我的机器上都能正常工作。换句话说,我想用任何自动化测试框架来测试驱动程序的功能。我的 linux 内核运行在基于 ARM 的(比如说)目标板上,比如 pandaboard

标签: testing linux-kernel embedded-linux kernel-module device-driver


【解决方案1】:

我怀疑是否有任何解决方案可用于此目的。每个维护者都应该测试他的驱动程序,以及每个维护者是如何做的——这取决于他。问题是,它需要大量的硬件来测试内核中的所有驱动程序。

您使用的是基于 OMAP 的板子 Panda,在基于 OMAP 的平台上测试驱动程序的一般方法是使用 DDT(设备驱动程序测试)。请参阅 DDT at OmapPediaDDT repository。顺便说一句,你应该赶紧从 Gitorious 克隆那个 DDT 存储库,因为 Gitorious 将在 5 月底关闭,而我没有找到该存储库的任何克隆。

此外,如果您有兴趣在您的主板上运行 Android,您应该运行 CTS (Compatibility Test Suite)

我上面列出的所有内容都是我在 TI 工作时我们的测试团队使用的,所以我认为它现在也应该适用。

更新

我还记得我们的测试人员正在使用这个设备:phidget。您可能需要购买一个用于测试目的。

更新 2

看看 Linaro 的 LKFT(Linux 内核功能测试)。它更多的是关于从用户空间测试系统调用,因此可能与您的问题并不严格相关,但仍然值得一提。它主要运行kselftest(可以在内核源代码中找到)和LTP project。您可以为您的电路板运行相同的测试。它也可以使用 Jenkins 和 LAVA 实现自动化。

【讨论】:

  • 您提到的测试套件似乎并未涵盖您正在使用的实际硬件。他们只提供测试环境,也许还有一些通用测试。 DDT 提供对实际硬件的测试。所以我建议你从滴滴涕开始。不过,它可能需要针对您的实际硬件和内核版本进行一些调整。但它似乎仍然是您目前任务的最佳解决方案。
  • 另见these slides
  • 非常感谢您的帮助。请让我再澄清一下.....假设我已经为某个目标板构建了一个内核(Yocto 方法)。显然文件系统应该包含目标板的一些驱动程序和 BSP....如果我想要确保这些驱动程序的可靠性?我应该使用上述工具(DDT)吗? DDT 只适用于基于 omap 的板子?
  • 是的,DDT 正是出于这个原因:检查驱动程序的可靠性。它应该在工作系统上运行。是的,它适用于基于 OMAP 的板(用于 OMAP 特定驱动程序)。我首先提到它是因为你说你有熊猫板。当然,DDT 并没有覆盖 100% 的驱动程序功能,因此也应该进行手动测试。第二件事应该提到——你应该检查 DDT 是否覆盖了你的所有设备。如果没有——你应该为你的设备添加测试。
猜你喜欢
  • 2015-12-31
  • 2015-01-23
  • 1970-01-01
  • 2010-09-06
  • 2012-09-05
  • 1970-01-01
  • 2023-03-24
  • 2014-02-05
  • 2012-12-07
相关资源
最近更新 更多