|
|
发表于 2008-5-2 21:40:22
|
显示全部楼层
我教你个方法... 你先用 最开始的内核进去, 然后 lsmod 看下他加载了 什么 模块, 或者, modconf 然后查看里面, 模块在内核的那个位置 加载 的, 比如 网卡模块: modconf 里面, 在
kernel/net 里面可以看见你的网卡 所加载的模块, 其余没有加载的 模块, 编译内核的时候, 不编译进模块 也行, 你那个 sata 模块, 你可以 在 kernel/drivers 下面相对应的地方看见, 你可以选着编译成模块 或者 直接编译进内核.... 用 modconf 查看加载了那些 模块 等选项可以在你不确定的情形下, 安全的编译内核, 这样 基本上可以成功.....
怎么会是 sata 驱动器的问题了, 你既然可以安装成功, 并且 编译内核, 那么 默认的 sata 驱动就 可以用, 所以, 你要是不确定的时候, 安装 modconf , 这个是查看 , 并且加载模块的 菜单选项, 你参照它来 配置, 我敢说 80% 会成功...
对了, 我觉得你后来 生成的 initrd 可能有问题吧, 为什么要那样生成了, make-kpkg 就可以生
成了, 可以这样阿:
make-kpkg --initrd kernel_image modules_image
这样就生成了 initrd 内核 还有 模块了, 之后 dpkg -i 安装就可以了, 并且安装的时候还会自动更新 grub , 知道吧...
还有, 要提醒你一点, 其实 initrd 并非必要的, 只要你把 开机启动的 所需要的所有 模块, 都编译进内核, 就可以不用 initrd ... 从你的, 那个错误: mount root filesystem .. 很有可能就是 initrd 生成错误, 因为 你的 没有把 你的 文件系统编译进内核, 所以他要 initrd 的帮忙, 然而 却出错 ... ( 我第一次编译内核的时候出现过这样的情况, 并且就是 initrd 的错)..
提醒下: 最好将你的 文件系统直接编译进内核, 还有就是 你要是用 ext3 文件系统, 必须保证 ext2 是直接编译进内核的, 不然, 即使有 正确的 initrd 也不行吧( 没有实验过, 以前查资料的时候说要 ext2 要直接编译进去).. |
|