【问题标题】:How does a Linux distribution affect the kernel behaviorLinux 发行版如何影响内核行为
【发布时间】:2018-07-03 08:34:47
【问题描述】:

这对某些人来说可能很明显,但对我来说不是,所以我会问 =)

我遇到了一个问题,我为某些硬件(NVidia TX2 + ConnectTech Astro 运营商)构建了嵌入式 Linux 堆栈。我使用的是 EPIX 的 PCIe 卡

如果我使用 Ubuntu 的 tegra 官方发行版,则可以正确检测到 PCIe 卡。

对于相同内核和设备树 blob,以及相同的硬件单元,嵌入式 Linux 的检测失败。

我认为检测 PCIe 设备将是内核的工作,不受发行版的影响,除非驱动程序被构建为内核模块并在不同时间插入。但就我而言,它们是构建在内核中的。

有人能详细说明为什么检测可以在一个发行版上工作,但不能在订单上工作?

这是我尝试修复检测的链接 tx2-pcie-does-not-detect-endpoint-on-connecttech-carrier-board

谢谢!

【问题讨论】:

  • 检查 Ubuntu 和您的驱动程序之间源代码的差异

标签: linux-kernel pci-e tegra


【解决方案1】:

Linux 发行版包含的内核通常不同于同一发行版的普通内核。大多数情况下,发行版内核包含大量错误修复的后向端口,这些错误修复是后来在微版本中发现和修复的。可能还有特定供应商包含的其他功能,而 vanilla 内核没有,例如某些驱动程序的更新版本等。更令人困惑的是,这些后端端口的集合在来自不同供应商的发行版中通常是不同的。作为副作用,这使得在自定义内核代码或自定义设备驱动程序中依赖于类似KERNEL_VERSION() 宏的操作变得困难。

我不能说您遇到的具体问题。这个话题很笼统,我希望这个解释会有所帮助。

【讨论】:

    猜你喜欢
    • 2014-09-02
    • 1970-01-01
    • 2012-04-04
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    相关资源
    最近更新 更多