将initrd解压之后,使用如下命令挂载initrd,
mount -o loop initrd-2.6.16.37-0.9-smp /mnt/loop
却发现不能挂载,命令行显示了如下错误信息:
mount: you must specify the filesystem type
在网上查了半天发现人家都说用这个命令,为啥偶却不行呢?指定文件系统类型也不管用.后来,
终于明白,事实上在2.6的initrd有两种形式,一种是传统的image格式,那时的initrd通常有个后缀,即.img.而另一种是cpio格式的,可以用file命令察看文件究竟是什么格式,比如偶看到的是:
myhost:~/test # file initrd-2.6.16.37-0.9-smp
initrd-2.6.16.37-0.9-smp: ASCII cpio archive (SVR4 with no CRC)
很显然,是cpio格式的,对于这种格式的,咱们不需要mount,直接解压缩就可以查看,
cpio -id< ../initrd-2.6.16.37-0.9-smp
cpio的-i参数表示解压,或者说extract.
然后在当前目录下就能看到解开来的initrd包了.