LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1051|回复: 14

标题: 为什么有一个scsi模块不能编进内核,又不得不编译成模块?

[复制链接]
发表于 2009-5-16 20:20:50 | 显示全部楼层 |阅读模式
我的目标是让自己不用initrd(我也不知道这样有什么好处,呵呵)可是我在用make menuconfig 配置时吧scsi相关都编进内核,保存后我用文档方式打开.config却发现

CONFIG_SCSI_WAIT_SCAN=m        (唯一一个参数=m的)

这模块我一再改,就是该不成

CONFIG_SCSI_WAIT_SCAN=y

编出来的内核到能用,但我在boot/grub/menu.lst里注释掉initrd一行,启动停在 。。。unable to mount root fs 。。。。一行。

我想干脆不要scsi相关,也不行,就是不能彻底去掉scsi相关。是不是有别的选项关联到它了?

从我的dmesg来看scsi只有一项(什么子系统?很晕),我也不知道它是什么用。困惑

kantian:~$ dmesg
。。。。。
[ 3.657806] SCSI subsystem initialized
。。。。。。
发表于 2009-5-17 05:35:12 | 显示全部楼层
就是这样的,不过这个模块可以不加载的,可有可无。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-17 05:38:31 | 显示全部楼层
Post by coderoar;1988056
就是这样的,不过这个模块可以不加载的,可有可无。


问题是我也去不掉这模块,好像是必须要有这项的.
回复 支持 反对

使用道具 举报

发表于 2009-5-17 07:03:31 | 显示全部楼层
肯定是lz设定什么错误。如果你用手工编译的话,没用genkernel,grub.conf里边用的是bzImage,根本就是没有用到initrd。
回复 支持 反对

使用道具 举报

发表于 2009-5-17 11:52:28 | 显示全部楼层
Post by kantian;1988058
问题是我也去不掉这模块,好像是必须要有这项的.

编译的时候是怎么都去不掉,默认的而且菜单里没有。头疼了好久。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-17 12:00:20 | 显示全部楼层
Post by coderoar;1988141
编译的时候是怎么都去不掉,默认的而且菜单里没有。头疼了好久。


我的是intel82845g的板子,没想外接扩展设备,应该用不到scsi,可是我的配置里有一项scsi是-*-,说明有选项依赖它?我也搞不清楚是那个选现,很晕。
回复 支持 反对

使用道具 举报

发表于 2009-5-17 13:12:49 | 显示全部楼层
点"Help",应该有标明依赖关系的。
回复 支持 反对

使用道具 举报

发表于 2009-5-21 02:14:19 | 显示全部楼层
你既然想不用initrd
那为什么还要 CONFIG_MODULES=y
menuconfig 里面去把 Loadable module support 这一项关了就行了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-21 06:46:38 | 显示全部楼层
Post by saiddy;1989365
你既然想不用initrd
那为什么还要 CONFIG_MODULES=y
menuconfig 里面去把 Loadable module support 这一项关了就行了


大哥,只要这个设置了就可以了?有人说:

“。。。要使用initrd,编译内核时必须选择以下两项:
CON-FIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_INITRD=y
当使用/dev/initrd时, RAM disk driver不能作为模块加载。。。。”

那是不是如果不要initrd.img,就还要关了这两项?
回复 支持 反对

使用道具 举报

发表于 2009-5-21 10:07:33 | 显示全部楼层
楼上正解,如果取消 Loadable module support,所有的模块都不能加载了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表