YOCTO:图像中没有“/lib/modules”目录,modprobe 失败
YOCTO : No '/lib/modules' directory in image, modprobe fails
我正在尝试使用 modprobe 加载和卸载模块,但我遇到了问题。该命令失败并显示“modprobe:
can't change directory to '/lib/modules': no such file or directory"
图像上实际上根本没有/lib/modules目录。
PS :我使用 yocto 项目 构建 Linux os 图像,我使用的是 3.14内核。
如有任何帮助,我们将不胜感激!
可能您只是没有安装任何模块。添加
IMAGE_INSTALL += "kernel-modules"
到你的图像配方。
更新:
如果这没有将模块添加到图像中,您接下来要检查的步骤是:
- 检查是否确实构建了任何模块。并非所有内核配置实际上都这样做。一种简单的方法是查看包含您生成的包的
tmp/deploy/...
目录。
- 检查设置是否实际传播到 iamge。
bitbake -e
在你的图片上会告诉你,grep for IMAGE_INSTALL.
更新 2:
对于 1) 所有构建的内核模块都自动打包在以 "kernel-module-" 开头的包中。因此,如果没有带有该前缀和您期望的模块名称的包,那么这不是安装问题,而是您的内核或内核配置根本没有构建模块的问题。
对于 2) "I can't read it all":这就是为什么我明确地说 "grep for IMAGE_INSTALL" - 你不应该全部阅读,只要看看那个变量是否真的包含 "kernel-modules".
好吧,我找到了解决方案:
事实上
IMAGE_INSTALL += "kernel-modules"
不在 /lib 下添加模块文件夹。它不适用于 YOCTO PROJECT SUMO 版本。我添加了这个
CORE_IMAGE_EXTRA_INSTALL += " kernel-modules"
到我的 local.conf,现在找到 /lib/modules 并且内核模块被打包
我正在尝试使用 modprobe 加载和卸载模块,但我遇到了问题。该命令失败并显示“modprobe:
can't change directory to '/lib/modules': no such file or directory"
图像上实际上根本没有/lib/modules目录。
PS :我使用 yocto 项目 构建 Linux os 图像,我使用的是 3.14内核。
如有任何帮助,我们将不胜感激!
可能您只是没有安装任何模块。添加
IMAGE_INSTALL += "kernel-modules"
到你的图像配方。
更新: 如果这没有将模块添加到图像中,您接下来要检查的步骤是:
- 检查是否确实构建了任何模块。并非所有内核配置实际上都这样做。一种简单的方法是查看包含您生成的包的
tmp/deploy/...
目录。 - 检查设置是否实际传播到 iamge。
bitbake -e
在你的图片上会告诉你,grep for IMAGE_INSTALL.
更新 2:
对于 1) 所有构建的内核模块都自动打包在以 "kernel-module-" 开头的包中。因此,如果没有带有该前缀和您期望的模块名称的包,那么这不是安装问题,而是您的内核或内核配置根本没有构建模块的问题。
对于 2) "I can't read it all":这就是为什么我明确地说 "grep for IMAGE_INSTALL" - 你不应该全部阅读,只要看看那个变量是否真的包含 "kernel-modules".
好吧,我找到了解决方案: 事实上
IMAGE_INSTALL += "kernel-modules"
不在 /lib 下添加模块文件夹。它不适用于 YOCTO PROJECT SUMO 版本。我添加了这个
CORE_IMAGE_EXTRA_INSTALL += " kernel-modules"
到我的 local.conf,现在找到 /lib/modules 并且内核模块被打包