linux如何查看img文件大小,查看linux内核文件-initrd.xx.img方法

initrd-x.x.x.img是一个用gzip压缩的文件,这主要是为了制作启动盘,因为启动盘只有1.44M,这个文件的原始大小是几个M,压缩后大概3、4百K。这个文件使用mkinitrd命令产生。

要看到initrd-x.x.x.img里面的内容,首先是解压该文件,由于gunzip解压的文件有扩展名要求,所以:

0、首先把该文件复制到另一个目录下。(此步必须有,以防止下面的步骤会覆盖掉原文件。)

1、将initrd-x.x.x.img改名为initrd-x.x.x.img.gz

2、#>gunzip initrd-x.x.x.img.gz

3、#>file initrd-2.4.21-AS.2smp.img

initrd-2.4.21-AS.2smp.img: Linux rev 1.0 ext2 filesystem data

4、然后mount该文件:

#>mount -o loop initrd-2.4.21-AS.2smp.img /mnt/floppy/

5、去看看有些什么东西:

#>cd /mnt/floppy/

#>ls

使用cpio解压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

cpio -ivmd < initrd.img

通过以上命令就将initrd.img解压了,现在就可以对其进行编辑,完成后使用以下命令重新压制

find . | cpio -ov > ../initrd.new.img

gzip ../initrd.new.img

再将其改名拷贝至/boot目录,重启就可以观察修改后的效果。重启后无法成功引导。这是因为生成的initrd.img不对。解决如下:

生成initrd

find . | cpio -o -H newc | gzip > /mnt/sda1/boot/initrd.img-2.6.18-4-686

(注:-H newc 是必须的,否则内核会认为是ramdisk,而不是initramfs)

http://blog.sina.com.cn/s/blog_730edb930100rsml.html

阅读(1852) | 评论(0) | 转发(0) |

创建和修改`initrd.img`(初始内存文件系统镜像)文件Linux操作系统中常见的任务,特别是在定制内核启动环境或修改内核模块时。以下是创建和修改`initrd.img`的基本步骤: 1. 安装必要的工具: 在大多数Linux发行版中,创建`initrd.img`通常需要安装`mkinitramfs`或`dracut`工具。可以通过包管理器安装这些工具,例如在基于Debian的系统中使用`apt`,在基于Red Hat的系统中使用`yum`或`dnf`。 ```sh sudo apt-get install mkinitramfs # Debian/Ubuntu系统 sudo yum install mkinitramfs # CentOS/RHEL系统 ``` 2. 创建initrd文件: 通常,创建`initrd.img`文件是在更新内核后由系统自动完成的,但如果你需要手动创建,可以使用以下命令: ```sh sudo mkinitramfs -o /boot/initrd.img-$(uname -r) $(uname -r) ``` 这里`$(uname -r)`命令会返回当前运行的内核版本号,`-o`后面指定输出的文件名。 3. 修改initrd.img文件: 如果需要修改现有的`initrd.img`文件,首先需要解压它,进行修改,然后再重新打包成`initrd.img`。这可以通过以下步骤完成: ```sh sudo mkdir /tmp/initrd sudo mount -o loop /boot/initrd.img-$(uname -r) /tmp/initrd sudo cp -a /tmp/initrd/* /path/to/your/modifications # 在 /path/to/your/modifications 目录中进行必要的修改 sudo umount /tmp/initrd sudo rm -rf /tmp/initrd ``` 修改完成后,重新打包成`initrd.img`: ```sh sudo mkinitramfs -o /boot/custom_initrd.img-$(uname -r) $(uname -r) ``` 4. 更新引导加载器配置: 在创建或修改`initrd.img`后,可能需要更新引导加载器的配置文件,如`grub.cfg`,以确保新的`initrd.img`文件能够被加载。 ```sh sudo update-grub # 对于GRUB引导加载器 ``` 5. 验证修改: 创建或修改`initrd.img`后,应该重启系统并检查是否一切正常。 ```sh sudo reboot ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值