西西河

主题:【求助】mount -o loop initrd /tmp/a不成,应如何解决?(有花送) -- wsxx

共:💬5 🌺3 新:
全看树展主题 · 分页首页 上页
/ 1
下页 末页
家园 【求助】mount -o loop initrd /tmp/a不成,应如何解决?(有花送)

目的是想修改initrd.gz中的/linuxrc的内容,使得启动内核能够顺利找到usb活动硬盘上的root。

看到一些资料,说先解压initrd.gz,得到initrd,然后把它挂载到一个目录中(/tmp/a已经建好),就可以修改了:

mount -o loop initrd /tmp/a

可是我打了这个命令,得到提示:

ioctl:LOPOP_CLR_FD: Device or resource busy

mount: you must specify the filesystem type

曾经试着加上-t ext3或-t ext2也没能成功。

请求大家给点帮助,有回必花。


本帖一共被 2 帖 引用 (帖内工具实现)
家园 try -t cramfs

家园 又google了一下

又google了一下,看来是我搞错了,应该就是ext2的文件系统。

事事这样:

losetup /dev/loop0 /initd # /initd 是你的 initd文件

mount -t ext2 /dev/loop0 /mnt

家园 是不是已经有一个xserver在运行了

先运行 mknod /dev/loop0 b 7 1

然后看看/dev里面有没有loopdevice,ls -l /dev/loop*

然后在运行losetup看看

kde

用startx -- :1事一下,注意 -- 和:两个符号之间有个空格.

要么把。xinitrc删调,startx进wm然后在xterm里用startkde起动kde看看有什么反映。

家园 今天找到一个是似乎可行的方法,请你们来研究解释一下

再网上翻来覆去地找,找到一条命令,是针对ubuntu的:

cat /boot/initrd.img-`uname -r` | gzip -d | cpio -i

我试了一下

cd /tmp

mkdir initrd

cd initrd

cat /boot/initrd.img-`uname -r` | gzip -d | cpio -i

ls

顺利解开了。

如果在ubuntu环境下解gentoo的initramfs,会有问题提示,解出来的目录好像不全。改到gentoo环境下,解自己的initramfs-genkelnel-2.6.17-gentoo-r4就顺利解开了。虽然还不完全理解其过程的含义,已经很激动了。

里面没有/linux这个文件,我们就自己把文章上的说的那个文件放进去,然后再压缩整个目录成为一个文件,对吗?现在害怕如果压缩之后有问题,搞得不能启动就麻烦了。

如果再压缩,用gzip -9 /tmp/initrd这个命令对吗?

全看树展主题 · 分页首页 上页
/ 1
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河