cpio格式的initrd是用来在Linux系统引导过程中加载初始根文件系统所使用的一种格式。initrd实际上是一个包含在内核镜像中的压缩文件系统,它包含了在引导过程中需要用到的程序、模块和文件。 要创建一个cpio格式的initrd,可以按照以下步骤操作: 1.准备需要包含在initrd中的文件和目录结构。 2.将这些文件和目录结构...
find . | cpio -o -v --format=newc > ../initrd.cpio 这里,-o表示创建归档文件,-v表示详细模式(可选),--format=newc指定了归档文件的格式为newc,这是一种适用于initrd的格式。 3. 生成initrd镜像文件 cpio归档文件本身就可以作为initrd镜像使用,但有时候可能需要将其与特定的头部信息结合,这取决于您...
解开一个cpio initrd: > mkdir work > cp /boot/initrd.img ./initrd.img.gz > gunzip -c initrd.img.gz > cpio -i --make-directories < initrd.img 制作一个cpio initrd > find . | cpio -c -o > ../initrd.img > gzip ../initrd.img...
解开一个cpio initrd: > mkdir work > cp /boot/initrd.img ./initrd.img.gz > gunzip -c initrd.img.gz > cpio -i --make-directories < initrd.img
另外一种格式的 initrd 是 cpio 格式的,这种格式的 initrd 使用 cpio 工具生成,其核心文件不再是 /linuxrc,而是 /init,本文将这种 initrd 称为 cpio-initrd。尽管 linux2.6 内核对 cpio-initrd和 image-initrd 这两种格式的 initrd 均支持,但对其处理流程有着显著的区别。
本文介绍如果制作cpio格式的initrd。 制作 find . | cpio --create -H newc > ../test.img gzip ../test.img 解压 cp initrd.img tmp_initrd.img.gz gunzip tmp_initrd.img.gz mkdir initrd cd initrd cpio -ivmd < ../tmp_initrd.img
2.6内核中的initrd.img采用cpio压缩,不再是2.4内核使用的ext2格式,无法使用mount -o loop 挂载。需要使用gunzip解压缩,然后再使用cpio解包 cp /boot/initrd-***.img initrd.img.gz gunzip initrd.img.gz mkdir initrd mv initrd.img initrd cd initrd ...
把initrd.img改名为gz后,用gunzip解压得到initrd文件,然后mount -o loop initrd /mnt 提示:mount: you must specify the filesystem type 尝试ext2,ext3都无效,用file命令发现原来是cpio格式的。 initrd: ASCII cpio archive (SVR4 with no CRC) 用cpio解压方法如下:cpio -id < ./initrd 这样就可以正常解压...
问当我的initrd (cpio)很大~80 mb时,Qemu无法加载ENLinux系统启动时使用initramfs (initram file system), initramfs可以在启动早期提供一个用户态环境,借助它可以完成一些内核在启动阶段不易完成的工作。当然initramfs是可选的,Linux中的内核编译选项默认开启initrd。在下面的示例情况中你可能要考虑用initramfs。
zt:Linux cpio initrd操作 简介:今天需要修改initrd.img 文件,才发现rhel已经修改文件格式,采用gz+cpio的模式,不是原来的gz+ext2文件系统,google发现如下链接,记录下来:http://blog.opensource.org.cn/hdcola/2007/09/linux-cpio-initrd.html在OpenSUSE中使用了2.6 kernel所支持的cpio initrd。