LinuxSir.cn,穿越时空的Linuxsir!

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

启动新内核可以没有initrd文件吗?

[复制链接]
发表于 2008-11-4 15:28:14 | 显示全部楼层 |阅读模式
我clfs好的内核就是没法起来,总是报什么kernel panic: VFS 找不到sdb1. 听说是内核选项问题,后来我索性用了宿主的选项,结果还是不行.又看到有人说是没有initrd的原因,这个文件到底是不是必须的啊?
发表于 2008-11-4 15:33:15 | 显示全部楼层
initrd 不是必须的,不过你的错误确实是有点关系。主要是你的kernel里面没有编译进去根文件系统所在设备的驱动。你的sdb1提示你需要编译进去sata的驱动。不要 编译成模块。这样就不需要initrd了。如果编译成模块,需要一个initrd包含这个模块。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-4 15:53:40 | 显示全部楼层
Post by JianLee;1903775
initrd 不是必须的,不过你的错误确实是有点关系。主要是你的kernel里面没有编译进去根文件系统所在设备的驱动。你的sdb1提示你需要编译进去sata的驱动。不要 编译成模块。这样就不需要initrd了。如果编译成模块,需要一个initrd包含这个模块。


我的理解是,有两种方法:1)把驱动编进内核,不要编成驱动。2)创建一个initrd文件。对吗?

怎么产生initrd文件呢?
回复 支持 反对

使用道具 举报

发表于 2008-11-4 16:40:38 | 显示全部楼层
内核编译的时候要把相关文件系统选项选上,把sata硬盘的相关选项选上,不要M
回复 支持 反对

使用道具 举报

发表于 2008-11-4 16:56:28 | 显示全部楼层
Post by timidwolf;1903785
我的理解是,有两种方法:1)把驱动编进内核,不要编成驱动。2)创建一个initrd文件。对吗?

怎么产生initrd文件呢?


把驱动编进内核,不要编成驱动
这句话好有趣~

mkinitrd/mkinitramfs/cpio。。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-4 17:01:55 | 显示全部楼层
打错了,不好意思,不过大家好像都看懂了,呵呵呵...
回复 支持 反对

使用道具 举报

发表于 2008-11-4 17:18:55 | 显示全部楼层
initrd 五花八门,不同发行版用不同脚本来制作,说得好听的是自由,说得不好听就是没有标准,乱七八糟,吾恶之!

说回正题,LFS 手册没有教你做这玩意吧,答案应该自行领误了。
回复 支持 反对

使用道具 举报

发表于 2008-11-5 14:37:30 | 显示全部楼层
Post by timidwolf;1903773
我clfs好的内核就是没法起来,总是报什么kernel panic: VFS 找不到sdb1. 听说是内核选项问题,后来我索性用了宿主的选项,结果还是不行.又看到有人说是没有initrd的原因,这个文件到底是不是必须的啊?

我也卡在initrd上了,initrd是是怎么做的?
我是dd出一个文件块,在mount -o loop 上,再往里面塞很多东西,最后gzip一下,搞定的,不过还没跑起来。。。。

好像有多个程序可以生成initrd,如mkinitrd, mkramfs(这个不确定),gentoo下好像也有个专门命令的
但是我都没有成功,郁闷啊
回复 支持 反对

使用道具 举报

发表于 2008-11-5 19:28:03 | 显示全部楼层
这类脚本多不胜数,mkinitrd,mkinitramfs,yaird,还有 Arch 的叫什麽记不到了。。。

LFS/CLFS 都不用的,干嘛老想做这玩意?
回复 支持 反对

使用道具 举报

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

本版积分规则

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