The kernel module can't be loaded correctly during the system booting

dlgy 2006-04-10 10:40:53
小弟用的是网上提供的一个livecd。
rebuild kernel build-in一些支持后(仅仅加入了scsi usb-cdrom内核支持,其他选项没有变),发现启动livecd时,无法正确加载任何内核模块:
WARNING: Error inserting **(/lib/modules/.../**.ko) operation not permitted.

即便启动后,用modprobe也无法加载任何模块,错误消息根上面一样。

真的很着急,请大家帮忙分析一下,什么原因能引起这样的错误呢?
...全文
169 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dlgy 2006-04-18
  • 打赏
  • 举报
回复
谢谢,你说的做成initrd,是指在initrd的linuxrc文件中加载内核模块吗?
我试了一下不好用,但是静态编译进内核(scsi usb-cdrom)是好用的。
OstrichFly 2006-04-17
  • 打赏
  • 举报
回复
>>你说的版本信息是Makefile中的EXTRAVERSION吗?
我当时的意思是make menuconfig
在菜单中找
不过你这样做好了应该说也没问题吧

>可能是因为我第一次编译内核的时候忘记了修改EXTRAVERSION,导致make modules_install时
>覆盖了原来的/lib/modules/** 但是就算覆盖也应该没问题啊,用的就是新的嘛。(难道我当
>时混乱用错了?)
内核会在/lib/modules/内核版本目录/ 中查找.ko文件。如果目录名与版本不符,则查找不到

>不过我还没有用scsi usb-cdrom来启动livecd,所以不敢肯定说就好用了,但是用dvd-rom启动
>没问题,没有出现这个模块加载错误的消息(以前有这个错误的),我想usb-cdrom既然启动起
>来了也应该一样的吧。
难说,如果是从特定的设备启动,那么对这个设备的支持文件只能使用以下两种方式:
1:静态编译进内核
2:做成initrd
一般的加载方式不行的,因为root文件系统需要特定的设备驱动才能加载,而该驱动又在root文件系统中。scsi usb-cdrom和dvd用的驱动不同,所以两者没有必然联系。
dlgy 2006-04-12
  • 打赏
  • 举报
回复
没人啊?给点建议也好啊
dlgy 2006-04-12
  • 打赏
  • 举报
回复
to OstrichFly(飞翔的鸵鸟)
你说的版本信息是Makefile中的EXTRAVERSION吗?

我又重新编译了一遍内核,这个问题似乎解决了,但是有些迷茫,因为我自己也不是很清楚到底怎么回事。

可能是因为我第一次编译内核的时候忘记了修改EXTRAVERSION,导致make modules_install时
覆盖了原来的/lib/modules/** 但是就算覆盖也应该没问题啊,用的就是新的嘛。(难道我当时混乱用错了?)

不过我还没有用scsi usb-cdrom来启动livecd,所以不敢肯定说就好用了,但是用dvd-rom启动没问题,没有出现这个模块加载错误的消息(以前有这个错误的),我想usb-cdrom既然启动起来了也应该一样的吧。

dlgy 2006-04-12
  • 打赏
  • 举报
回复
我从新编译了模块阿!

能说一下产生这个问题的原因吗?

1:rebuild kernel 时取消版本信息检查
如何做啊?
谢谢!
OstrichFly 2006-04-12
  • 打赏
  • 举报
回复
Kernel module里面有版本信息
解决方法,任选一个:
1:rebuild kernel 时取消版本信息检查
2:rebuild kernel同时编译modules,make modules install
3: modprobe好像有参数取消版本检查的,没试过

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧