initrd.img映像文件

initrd.img映像文件

8.2.2  initrd.img映像文件

initrd.img是一个内核映像文件,即"initrd RAM disk"。对vmlinuz内核文件解压之后,在真正的根文件系统(/)启动之前,initrd.img文件会被加载到内存中。initrd.img文件主要用于制作LiveCD及系统初始化的操作,比如加载内核模块、挂载根文件系统(/)等。

1. 制作initrd.img映像文件

方法如下,使用mkinitrd命令来实现:

(1) 使用mkinitrd命令手动生成,如下所示:

1. [root@rhel5 boot]# mkinitrd  /boot/initrd-'uname -r'.1.img  'uname -r'  

2. [root@rhel5 boot]# ls initrd-2.6.18-8.el5.1.img  

3. initrd-2.6.18-8.el5.1.img 

(2) 使用file命令来查看initrd.img的文件类型,如下所示:

1. [root@rhel5 boot]# file /boot/ initrd-2.6.18-8.el5.1.img  

2. initrd-2.6.18-8.el5.1.img: gzip compressed data, 
from Unix, last modified: Sat Jun 13 12:43:08 2009, max compression 

2. 查看2.4内核版本的initrd.img映像文件的内容

不同内核版本的映像文件会有一定的差别,在Linux 2.4及之前版本中,initrd.img映像文件是一个基于loop设备的压缩文件。查看initrd.img映像文件的步骤如下:

(1) 创建解压目录:

1. [root@rhel3 boot]#mkdir /tmp/test  

2. [root@rhel3 boot]#cp /boot/initrd.'uname -r'.img /tmp 

(2) 挂载文件:

1. [root@rhel3 boot]#cd /tmp  

2. [root@rhel3 boot]#mv initrd. 'uname -r'.img initrd. 'uname -r'.img.gz  

3. [root@rhel3 boot]#gzip -d initrd. 'uname -r'.img.gz  

4. [root@rhel3 boot]#mount -o loop initrd.'uname -r'.img  /tmp/test 

(3) 查看文件内容:

1. [root@rhel3 boot]#cd /tmp/test  

2. [root@rhel3 boot]#ls  

3. 查看2.6内核版本的initrd.img映像文件的内容

Linux 2.6内核版本中有了initramfs文件系统,通过initramfs文件系统制作映像文件即可,制作出的initrd.img映像文件是一个基于cpio文件格式的gzip压缩文件,不需要挂载即可直接打开,从而查看initrd.img映像文件的内容。具体的查看步骤如下所示:

(1) 创建显示目录,并将映像文件复制到/tmp/test目录下:

1. [root@rhel5 tmp]# cd /tmp/  

2. [root@rhel5 tmp]# mkdir /tmp/test  

3. [root@rhel5 tmp]# cp /boot/initrd-2.6.18-8.el5.img  /tmp/test  

4. [root@rhel5 tmp]# cd /tmp/test 

(2) 重命名映像文件,并对其解压:

1. [root@rhel5 test]# mv initrd-2.6.18-8.el5.img 
initrd-2.6.18-8.el5.img.gz  

2. [root@rhel5 test]# file initrd-2.6.18-8.el5.
img.gz//显示映像文件的类型为gzip  

3. 压缩文件  

4. initrd-2.6.18-8.el5.img.gz: gzip compressed data,
from Unix, last modified: Sun May 24 09:15:32 2009, max compression  

5. [root@rhel5 test]# gzip  -d initrd-2.6.18-8.el5.img.gz  

6. [root@rhel5 test]# file initrd-2.6.18-8.el5.img
//解压缩后,显示映像文件的类  

7. 型为cpio归档文件  

8. initrd-2.6.18-8.el5.img: ASCII cpio archive (SVR4 with no CRC) 

(3) 恢复映像文件,并查看恢复后的文件:

1. [root@rhel5 test]# cpio -i < initrd-2.6.18-8.el5.
img    //恢复映像文件  

2. 10288 blocks  

3. [root@rhel5 test]# ls                          
//显示映像文件恢复后的内容  

4. bin  dev  etc  init  initrd-2.6.18-8.el5.img  
lib  proc  sbin  sys  sysroot  

5. [root@rhel5 test]# ls -R  

6. .:  

7. bin  dev  etc  init  initrd-2.6.18-8.el5.img  lib 
proc  sbin  sys  sysroot  

8. ./bin:  

9. insmod  lvm  modprobe  nash  

10. ./dev:  

11. console  null  ram   ram1  systty  tty0  tty10  tty12 
tty3  tty5  tty7  tty9   ttyS1  ttyS3 mapper   ptmx 
ram0  rtc   tty     tty1  tty11  tty2   tty4  tty6 
tty8  ttyS0  ttyS2  zero  

12. ./dev/mapper:  

13. ./etc:  

14. lvm  

15. ./etc/lvm:  

16. lvm.conf  

17. ./lib:  

18. dm-mirror.ko  dm-snapshot.ko  ehci-hcd.ko  jbd.ko   
mptscsih.ko  ohci-hcd.ko  scsi_transport_spi.ko  
uhci-hcd.ko dm-mod.ko     dm-zero.ko      ext3.ko    
mptbase.ko  mptspi.ko    scsi_mod.ko  sd_mod.ko  

19. ./proc:  

20. ./sys:  

21. ./sysroot: 

 


你可能感兴趣的:(initrd.img映像文件)