LinuxSir.cn,穿越时空的Linuxsir!

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

挂载initrd失败!

[复制链接]
发表于 2006-3-21 18:08:33 | 显示全部楼层 |阅读模式
好郁闷,mount -o loop initrd /mnt/tmp,老是提示失败。

到底应该怎样自己编辑initrd呀?找了n多资料,硬是没有找到答案。
发表于 2006-3-22 01:50:16 | 显示全部楼层
很多时候 initrd 是用 gzip 压缩过的,解压後也应该先搞清楚 initrd 的格式才能挂载
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-22 10:34:11 | 显示全部楼层
我已经解压了。initrd是用mkinitrd工具生成的,应该是cramfs格式的,用上边的命令应该没有错吧?
回复 支持 反对

使用道具 举报

发表于 2006-3-22 10:51:24 | 显示全部楼层
加上 -t cramfs 参数

还有,你的内核要支持 cramfs 才行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-22 13:55:20 | 显示全部楼层
内核debian自己的2.6.15-1-686内核,默认是支持cramfs的。
加上文件系统参数也不行的,提示wrong magic。
回复 支持 反对

使用道具 举报

发表于 2006-3-22 19:37:14 | 显示全部楼层
你的 initrd 是用 yaird 造出来的吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-22 20:12:50 | 显示全部楼层
是呀,mkinitrd不能作,只能用yaird了。
回复 支持 反对

使用道具 举报

发表于 2006-3-22 21:14:20 | 显示全部楼层
呵呵,我也刚好遇到这个问题,我仔细看了一下gentoo生成initrd那个脚本,原来生成的是cpio格式,得酱紫:
gzip -d initrd.gz
cpio -div < initrd
如果是gentoo的话,还要稍微复杂一些,他是把几个gz给cat到一起,得逐个解压跟cpio
也就是说,不再有那个小文件系统的image了.看了一下redhat9的initrd还是以前熟悉的那种.怀疑从2.6开始,内核支持直接用cpio了.区分的方法请解压后file一下.出来说cpio ascii什么的,就是cpio格式.
回复 支持 反对

使用道具 举报

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

本版积分规则

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