查看Linux2.6内核cpio格式的initrd镜像文件之备忘录
蒋冬冬 2009-5-24
do2jiang@gmail.com
1. 将initrd解压
gunzip initrd-2.6.16.37-0.9.img
2. 挂载initrd,
mount -o loop initrd-2.6.16.37-0.9-smp /mnt/loop
却发现不能挂载,命令行显示了如下错误信息:
mount: you must specify the filesystem type
Linux2.6的initrd有两种形式,一种是传统的image格式(Linux 2.4内核使用这种格式),那时的initrd通常有个后缀,即.img.而另一种是cpio格式的,可以用file命令察看文件类型
$file initrd-2.6.16.37-0.9.img
initrd-2.6.16.37-0.9.img: ASCII cpio archive (SVR4 with no CRC)
显然是cpio格式,对于这种格式,不需要mount,直接解压即可查看
对于传统的img格式文件,mount -o loop initrd-2.6.16.37-0.9-smp /mnt/loop即可。
$mkdir rootfs
$cd rootfs
$cpio -id< ../initrd-2.6.16.37-0.9-smp
cpio的-i参数表示解压,或者说extract.
这样,在当前目录下(rootfs中)就能看到解开来的initrd包了.