lzth.net
当前位置:首页 >> linux安装内核模块之后为什么没有生成/liB/moDulEs... >>

linux安装内核模块之后为什么没有生成/liB/moDulEs...

你确定你执行了make && make install 或者 make modules_install么?如果确定那么轻参照make modules_install的命令输出寻找模块化编译的内核被放在了那个目录

问题补充:如题了,linux模块编程为什么要编译内核源码树.以及为什么内核版本当然需要 第一点,就是源码树中有相应的头文件和函数的实现,没有

我猜你是在ls你当前编译的源代码中的lib,而其实make modules_install之后默认是将编译好的内核模块copy到你当前系统根目录下的lib/modules/$version下,这里的$version代表以你刚编译的内核模块版本为名的一个文件夹.

看你开发目标是什么版本,这个版本要对应.假设你学习开发 2.4.2 的内核模块,你却用 3.2.2 的内核源代码肯定是不通用的.再假设你未来要给一个运行着 2.6.18 内核的设备开发一个驱动,你却用 3.2.11 内核,开发出来的东西肯定也不行.不

/lib/modules/ 是存储模块的目录/proc/modules 是个虚拟的文件, 内容是已加载的内核模块以及加载在内存中的位置.

如果有makefile, 那就直接在命令行make, 就可生成o文件及ko, so文件等 .

图片好小不过依稀看到了是加载一个内核模块(dm-region-hash)错误,这个模块应该是和文件系统相关的,然后后面mount 文件系统的时候就找不到磁盘你更新了的内核出了问题加载模块的时候显示这个模块已经存在,所以就没法

建议裁剪内核,内核中很多驱动模块,子系统等一般用户都用不上,我在我自己的电脑上裁剪后编译的内核源码树大小只有700多M~

make modules是编译模块,很多驱动还有功能在选的时候选成M的都是modules,不过直接make,不加任何参数,就是make all,包含make modules.不用额外加此make,但是在安装的时候make install只是安装bzimage,Systemmap.没有把modules安装好,还要额外的make modules_install,把模块放到/lib/modules文件夹一个和内核名一样的文件夹下,并且运行depmod生成模块依赖关系文件,系统启动时加载模块就是从dep里面读取信息加载模块.

你的更新过程不正确.至少有"配置"、“编译”、“模块安装”之后才能把新编译的系统安装上去.最可能出现的问题是配置过程选择设备驱动的适合选择不正确.一般上,编译前你用“make oldconfig”配置就不会有这种问题出现.

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com