如何制作initrd.img文件

2008-11-12 16:02:37 
 
initrd.img文件是redhat,mandrake等linux发布使用的内存镜像文件。镜像中是一个微型系统。在安装系统时,将initrd.img展开到内存中。并运行rc安装脚本。另外现在比较流行的Live CD,也可以使用initrd.img的方法来实现。
  了解initrd.img文件的制作和修改方法,可以用来制作自己的安装光盘和LIVE CD系统。
  一,解开initrd.img
  gzip –cd /root/isolinux/isolinux/initrd.img>/tmp/initrd.ext2
  mount –o loop /tmp/initrd.ext2 /mnt/
  /mnt/目录下就是initrd.img中的微型系统
  二,生成initrd.img
  umount /mnt/
  gzip –c9 /tmp/initrd.ext2>/root/isolinux/isolinux/initrd.img
 
******************************************************************
linux2.6下生成的initrd镜像(img非cpio)为何不能和linux2.4的内核配合使用?有没有一种方法使之匹配?
2010-02-21 13:31
相同的文件在redhat9做initrd文件系统没有问题,可以正常启动,但放在AS4.7(内核2.6)出现如下提示:
attempt to access beyond end of device
01:00: rw=0, want=1647259183, limit=204800
attempt to access beyond end of device
01:00: rw=0, want=1647259183, limit=204800
attempt to access beyond end of device
01:00: rw=0, want=2037609827, limit=204800
attempt to access beyond end of device
01:00: rw=0, want=2037609827, limit=204800
Kernel panic: No init found.  Try passing init= option to kernel.
 
redhat9的内核与新linux2.6对软连接的处理方式不同,修改方法参考http://lists.debian.org/debian-devel/2003/12/msg01882.html提问者评价谢谢,验证ok
 
******************************************************************
linuxsir--发表于 2003-05-24 13:54:41
initrd是内核启动映象,如果没有这个文件,有时系统启动时没有办法找到根分区 
 
initrd.img这样类似的文件,是用下面的命令创建面来。我举例说明:可以用两个方法,比如我的系统的内核版本是2.4.20-8 
 
如果我们重编了内核, 就要用下面的两个命令来生成映像文件,否则有时系统启动时会找不到/根分区。 
 
mkinitrd /boot/initrd-.2.4.20-8img 2.4.20-8 
 
这样就会在/boot 目录中看到initrd-2.4.20-8.img的文件,其实您所说的initrd.img就是initrd-2.4.20-8.img文件的链接。 
 
可以这样生成 
#cd /boot 
#ln -s initrd-2.4.20-8.img initrd.img 
其实看列一下目录就知道这是一个链接。 
用这个命令来生成新的内核映象,要使新内核启动,要改动/etc/grub.conf或者lilo.conf才能生效。 
 
[root@linuxsir001 boot]# ll initrd.img 
lrwxrwxrwx 1 root root 19 5月 24 13:46 initrd.img -> initrd-2.4.20-8.img 
 
也可以用下面的命令; 
 
new-kernel-pkg --mkinitrd --depmod --install 2.4.20-8 
 
这个命令执行的结果是会生成intrd文件,也会自动改/etc/grub.conf或者lilo.conf,这样就一步到位使新内核生效。
 
******************************************************************
如何打开/生成initrd.img 
2012-05-26 
1, 解压initrd.img
zcat /boot/initrd.img | cpio -id  
2,压缩initrd.img
find . |  cpio -H newc --create  | gzip -9 > ../initrd.img 
原文地址:https://www.cnblogs.com/huapox/p/3516312.html