LinuxSir.cn,穿越时空的Linuxsir!

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

我怎就解不开initrd.img这文件呢?

[复制链接]
发表于 2006-2-22 07:44:21 | 显示全部楼层 |阅读模式
在网上找到的方法说是因为initrd在生成img后,又用gzip -9压缩了该文件,所以要mount该文件之前要解压。
可是即使我解压了还是mount不上,是不是使用了新的压缩技术了呀?我的系统是用FC4的。

:confused:
发表于 2006-2-22 07:48:38 | 显示全部楼层
mount不上,是因为你的内核中没有选中相应的filesystem。

你 file 一下,看看你的这个文件是什么 file system 的。

(FC的问题,怎么跑这里来了。。。)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-22 08:18:21 | 显示全部楼层
不是吧,用该系统启动时加载的img文件进行解压的。如果内核不支持该fs那也就启动不起来了不是吗?
[root@localhost tmp]# cp /boot/initrd-2.6.11-1.1369_FC4.img .
[root@localhost tmp]# mv initrd-2.6.11-1.1369_FC4.img initrd.img.gz
[root@localhost tmp]# gunzip initrd.img.gz
[root@localhost tmp]# ls
initrd.img  lost+found  teach  tmp.isEllc1868
[root@localhost tmp]# mount -o loop initrd.img /mnt
ioctl: LOOP_CLR_FD: Device or resource busy
mount: you must specify the filesystem type
[root@localhost tmp]#

PS:在做LFS的时候宿主没指定一定要某某发行版吧 : )
回复 支持 反对

使用道具 举报

发表于 2006-2-22 08:35:03 | 显示全部楼层
mount 的时候 -t 函数加上试试。人家都说明要你指定 filesystem type 了。

LFS 的确没指定这些。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-22 08:43:06 | 显示全部楼层
Post by 终极幻想
mount 的时候 -t 函数加上试试。人家都说明要你指定 filesystem type 了。

LFS 的确没指定这些。

不行呀,-o loop -t ext2 不行,直接 -t ext2也不行。

要不我放到附件里你试试,假如你有时间的话。
回复 支持 反对

使用道具 举报

发表于 2006-2-22 11:02:19 | 显示全部楼层

那就是文件系统不对了

Post by PPx
不行呀,-o loop -t ext2 不行,直接 -t ext2也不行。

要不我放到附件里你试试,假如你有时间的话。


-o loop -t [color="Red"]filesystem 是肯定可以的。
你挂载不进来,那就是filesystem没有指定正确,要么img不是ext2格式的,要么你的kernel不支持ext2。会不会是ext3,romfs,ramfs等等,你要知道这个Img的文件系统才能mount进来的
回复 支持 反对

使用道具 举报

发表于 2006-2-22 20:58:06 | 显示全部楼层
不同发行版使用的mkinitrd脚本都不同,做出的initrd格式及内容也不相同,可说是各施各法!

LFS用的busybox的脚本,ext2是也
Debian默认是cramfs,但也可以用initramfs或者ext2
Gentoo也是ext2
FC4 是啥?不知道,你要找找答案了
回复 支持 反对

使用道具 举报

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

本版积分规则

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