嵌入式 查看Ubuntu下的initrd.img文件

原创 2013年12月02日 14:44:15

  Ubuntu的initrd.img可以在/boot中找到,通常文件名后面还跟有很长的一串版本号。

  为了保险起见,不直接操作原文件,而是把它复制到自己的家目(home)录中。如果你是用root帐号登录的,家目录就在/root中,如果是用wsxx登录的,家目录一般就在/home/wsxx中,通常登录之后自动就到了家目中。我们把initrd.img复制但家目中进行解压:

  cp /boot/initrd.img-2.6.15-ubuntu-r6 ./initrd.img.gz

  上面这个命令把/boot区中的文件复制到当前目录,并更名为initrd.img.gz。一方面改成短文件名好一点好操作,另一方面加上gz的后缀更清楚表明它原本就是一个gzip压缩出来的文件。http://www.ccthere.com/article/825480

  然后解压:

  gunzip initrd.img.gz

  也可以:http://www.ccthere.com/article/825480

  gzip -d initrd.img.gz

  两者结果是相同的,都是在当前目录得到一个解压后的initrd.img,原来的initrd.img.gz被删除掉了(这也许是linux整洁的优点)。

  现在这个更大的initrd.img要用cpio解开,成为一系列目录和文件。为了不与当前目录中现有的文件搞混,我们有必要新建一个目录,把initrd.img解压到新目录中去。将来把里面的文件修改好之后,还要把所有的目录文件再打包起来:http://www.ccthere.com/article/825480

  mkdir initrd #建立目录

  cd initrd  #进入目录

  cpio -i -d < ../initrd.img #解开上层目录中的initrd.imghttp://www.ccthere.com/article/825480

  因为已经进入到initrd中,../initrd.img表示上层目录中的initrd.img。

  现在就可以看到initrd中各目录中有很多新的目录和文件了。在这里我们可以窥视到ubuntu是如何装配起来的。可以对其中的内容进行修改了。

  http://www.ccthere.com/article/825480

  修改文本文件没有什么好多说的了。

  修改之后,就是压缩回去,用它来启动,检验是否可以正常启动,是否达到预期的修改目的。先用cpio打包:

  http://www.ccthere.com/article/825480

  find . | cpio -o -H newc > ../myinitrd.img#打包当前目录中的所有目录和文件,到上层目录中的myinitrd.img

  cd .. #回到上层目录

  gzip -9 myinitrd.img#gzip的最高级压缩http://www.ccthere.com/article/825480

  得到的myinitrd.img.gz就是新的Ubuntu启动文件了。

  做到这里,要有必要停下来看看一看,比较一下重新压缩之后的文件,是否和原来的initrd.img.gz差不多大小?都应该是4M多的文件。如果文件大小相差太多,可能就有问题。我用Ubuntu文件解压后在压缩回来,用不同的文件名,最后比较,大小完全一致,心里就踏实了。

  http://www.ccthere.com/article/825480

  再用Gentoo的initramfs文件进行同样方法的操作,2M多的文件解压再压缩回来,只剩下不到1K了,自己也不相信这是对的。

相关文章推荐

ubuntu cp: 无法获取”/boot/initrd.img-3.13.0-100-generic” 的文件状态(stat): 没有那个文件或目录

在Ubuntu上执行# sudo apt-get install apt-transport-https ca-certificates命令时,提示如下错误update-initramfs: defe...

initrd.img文件分析

  • 2011年08月04日 11:13
  • 52KB
  • 下载

解压Ubuntu的initrd.img的方法

Ubuntu的initrd.img可以在/boot中找到,通常文件名后面还跟有很长的一串版本号。   为了保险起见,不直接操作原文件,而是把它复制到自己的家目(home)录中。如果你是用root...

linux 2.6内核initrd.img文件分析

linux 2.6内核initrd.img文件分析     如果对系统进行驱动的升级或添加新硬件,此时,常会用到mkinitrd命令。而该命令其实是一个脚本,通过一系列的流程来生成系统启动需要的in...
  • ce123
  • ce123
  • 2011年08月14日 10:09
  • 3823

initrd.img

  • 2016年04月27日 13:00
  • 6.05MB
  • 下载

grub启动内核和initrd.img

  • 2012年03月20日 22:24
  • 143KB
  • 下载

ubuntu下用fastboot命令将boot.img文件push到机器里

首先保证adb有root权限 1、首先进入fastboot模式 执行 adb reboot bootloader 重起至fastboot介面 2、烧boot.img 执行 fastboot flash...
  • ydt_lwj
  • ydt_lwj
  • 2014年03月18日 13:37
  • 2311

(IMG)镜像文件在windows、Ubuntu、Mac 三种操作系统的烧录方法

Installation/FromImgFiles Contents WindowsUbuntuMac OS X ...
  • eibo51
  • eibo51
  • 2016年01月15日 15:42
  • 4132
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 查看Ubuntu下的initrd.img文件
举报原因:
原因补充:

(最多只允许输入30个字)