什么是 kerneld?

kerneld 功能是由 Bjorn Ekwall 在 1.3 开发内核期间引入的。 它允许内核模块(例如设备驱动程序、网络驱动程序和文件系统)在需要时自动加载,而不是必须使用 modprobeinsmod 手动加载。

更有趣的是,尽管这些方面尚未(还?)与标准内核集成

kerneld 由两个组件组成

两个组件都必须工作才能使 kerneld 支持发挥作用; 仅设置其中一个或另一个是不够的。

我为什么要使用它?

使用 kerneld 有一些很好的理由。 我将提到的理由是我的,其他人有其他理由。

当然,也有您可能不想使用它的原因。 如果您更喜欢只有一个包含所有内置驱动程序的内核镜像文件,那么您读错了文档。

我在哪里可以找到必要的组件?

Linux 内核中的支持是在 Linux 1.3.57 中引入的。 如果您有较早的内核版本,则需要升级才能获得 kerneld 支持。 当前的 Linux 内核源代码可以在大多数 Linux FTP 存档站点找到,包括

用户空间守护进程包含在 modules 包中。 这些通常可以从与内核源代码相同的位置获得

注意: 如果您想使用最新的 开发 内核尝试模块加载,则应使用较新的 modutils 包,而不是 modules 包。 始终检查Documentation/Changes内核源代码中的文件,以获取内核镜像所需的最低版本号。 另请参阅关于模块和 2.1 内核的问题。