gpt4 book ai didi

linux - 在 Linux 内核 3.8.13-rt16 中启用外设

转载 作者:太空宇宙 更新时间:2023-11-04 11:05:13 25 4
gpt4 key购买 nike

我正在运行 Linux 内核 3.8.13-rt16,它处于 headless 状态(无显示器/键盘)。我能够通过 ssh 进入盒子并成功运行命令。 (我的 3.8.0-35-generic 内核在显示器和键盘上运行得很好)。

是否可以在 rt 内核上启用外围设备以便我可以直接在这台机器上工作?如果是这样,这是我需要在源代码中更改并重新编译的东西,还是可以通过配置文件更改?

我不熟悉使用不同的内核(尤其是实时内核),所以任何帮助/建议或文档链接也将不胜感激。

最佳答案

简短回答:尝试将它们插入。尤其是 USB 设备可以开箱即用。

长答案:

由于所有硬件(内部或外部)都需要某些内核模块的支持,因此您首先需要确定您的内核是否支持相关外围设备。

例如,要连接键盘,您需要 PS/2 或 USB 支持。对于显示器,必须支持您的图形芯片。

如果您的硬件完全受支持,您如何找出要加载的模块以及如何加载?

首先,您需要了解实际存在的硬件。这是通过 lspci 完成的。寻找“VGA Controller ”和“USB Controller ”行。

查看哪些内核模块支持您的硬件的一种非常简单的方法是 device driver database ,它获取您的 PCI ID (lspci -n) 并告诉您可以使用哪些模块。

现在,下一步是确定这些模块是否已经在内核中,或者它们是否可以作为模块使用。

它可能已经在内核中了。要检查这一点,您可以 grep 通过配置¹:

zcat /proc/config.gz | grep MODULE_NAME # uppercase, dashes --> underscores

如果您看到类似CONFIG_MODULE_NAME=y 的内容,那么它在内核中。如果您看到 CONFIG_MODULE_NAME=m,则它已构建为可加载模块。

如果您在配置中没有看到该模块,或者显示该选项未设置,您仍然可以检查系统上实际可用的模块。要检查某个模块是否可用,请运行

find /lib/modules/`uname -r` | grep module_name # lowercase, dashes --> underscores

如果您找到了您的模块,您可以使用 modprobe module_name 加载它。 lsmod 应该会显示它是否已加载。

如果找不到模块,可能需要重新编译内核并构建模型。我不会在这里介绍,这远远超出了我们的范围。

如前所述,连接键盘应该非常简单。

预计您的图形芯片会遇到更多困难。当然,简单的 VESA 输出应该始终有效,但为了获得适当的支持,您可能需要稍微调整一下。这也是我在这里无法涵盖的内容;这本身就是一个主题(KMS、专有与 OSS 驱动程序等)。

希望对初学者有所帮助。如果您需要更多支持,请提供有关您的硬件的更多信息 (lspci -n),并可能将您的内核配置发布到某个 pastebin。

¹ 内核可能是在没有/proc/config.gz 支持的情况下构建的。在这种情况下,配置也可以存储在文件系统中,例如在 /boot/ 目录中。

关于linux - 在 Linux 内核 3.8.13-rt16 中启用外设,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25534224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com