五千年(敝帚自珍)

主题:【求助】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 帖 引用 (帖内工具实现)
    • 家园 又google了一下

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

      事事这样:

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

      mount -t ext2 /dev/loop0 /mnt

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

        再网上翻来覆去地找,找到一条命令,是针对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这个命令对吗?

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

          先运行 mknod /dev/loop0 b 7 1

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

          然后在运行losetup看看

          kde

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

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

    • 家园 try -t cramfs

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


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

Copyright © cchere 西西河