initramfs.img.gz根文件的修改和重新打包@[initramfs, Kernel, Centos7, Linux]

initramfs.img.gz根文件的修改和重新打包@[initramfs, Kernel, Centos7, Linux]

做个记录:
可能文件是img后缀, 修改为.gz后缀,也可能一开始就是.gz后缀:

  1. 如果是img文件,可以先重命名为gz文件:
    mv initramfs.img initramfs.gz

  2. 解压gz: 使用命令: gunzip initramfs.gz

[root@c2 temp]# gunzip initramfs.img.gz
  1. 解压initramfs.img文件:
    查看解压后的文件格式,看到是cpio压缩文件:
[root@c2 temp]# file initramfs.img
initramfs.img: ASCII cpio archive (SVR4 with no CRC)

这时候就可以直接cpio解压:

[root@c2 temp]# cpio -idmv < initramfs.img
.
bin
bin/busybox
init
rootfs.tar.xz
1125194 blocks

以上看到解压后的文件结构,可以看到rootfs.tar.xz:
.
bin
bin/busybox
init
rootfs.tar.xz
1125194 blocks

rootfs.tar.xz就是xz和tar打包好的根目录文件

  1. 解压rootfs.tar.xz后,就可以根据自己的需求修改根目录文件:
    以下将解压rootfs.tar.xz, 对文件做修改,再重新打包成rootfs.tar.xz:
    a) 将rootfs.tar.xz 拷贝到另外创建好的目录, 运行tar xvJf rootfs.tar.xz 解压rootfs文件:
    [root@c2 rootfs]# tar -xvJf rootfs.tar.xz
    

``
b) 根据自己实际需求修改,配置文件:
c) 重新打包成rootfs.tar.xz, 使用命令:tar -Jcvf rootfs.tar.xz *

[root@c2 rootfs]# tar -Jcvf rootfs.tar.xz *
  1. 重新打包好rootfs.tar.xz后,把rootfs.tar.xz拷贝回initramfs.img解压后的目录中;

  2. 再使用cpio和gzip重新打包好:
    find . | cpio -o -H newc | gzip -9 > …/initramfs_new.img.gz

这样就完成了initramfs的更新。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值