ramdisk.img 格式【解压/压缩】

 

1、查看ramdisk.img 格式

[root@localhost ramdisk]# file ramdisk.img
ramdisk.img: u-boot legacy uImage, ramdisk, Linux/ RAMDisk Image (gzip), 24477522 bytes, Wed Apr 19 18:10:25 2023, Load Address: 0x10000000, Entry Point: 0x10000000, Header CRC: 0xEDB56EAE, Data CRC: 0x2B30F69D

2、去掉ramdisk 的头

[root@localhost ramdisk]# dd if=ramdisk.img of=ramdisk bs=64 skip=1
382461+1 records in
382461+1 records out
24477522 bytes (24 MB) copied, 0.96834 s, 25.3 MB/s

3、查看去头后的ramdisk 格式

[root@localhost ramdisk]# file ramdisk
ramdisk: gzip compressed data, was "ramdisk", from Unix, last modified: Wed Apr 19 18:10:12 2023, max compression

4、解压ramdisk

[root@localhost ramdisk]#  mv ramdisk ramdisk.gz
[root@localhost ramdisk]#  gunzip -v ramdisk.gz
ramdisk.gz:      90.9% -- replaced with ramdisk

5、查看解压后的ramdisk 格式

[root@localhost ramdisk]# file ramdisk
ramdisk: Linux rev 1.0 ext4 filesystem data, UUID=a05e3c7e-a748-4ee7-accb-da2a0de89e15 (extents) (64bit) (large files) (huge files)

6、挂载ext4文件系统

[root@localhost ramdisk]# mount -o loop ramdisk /root/ramdisk_rootfs

7、查看/操作 ramdisk 文件系统里面的文件

[root@localhost ]# ls /ramdisk_rootfs/
bin      dev  lib    linuxrc     media  opt   root  sbin  tmp  var
configs  etc  lib64  lost+found  mnt    proc  run   sys   usr

8、解除操作

 

[root@localhost ]# umount ramdisk_rootfs/

 

9、从新压缩ramdisk

[root@localhost ]# gzip -c ramdisk > ramdisk.gz 

10、从新打包ramdisk.img

[root@localhost ]# mkimage -n "ramdisk" -A arm64 -O linux -T ramdisk -a "地址1" -e "地址2" -C gzip -d ramdisk.gz ramdisk.img 

注意

  • -a(加载地址):通常必需,指定镜像的加载位置。
  • -e(入口点地址):通常必需,指定镜像的执行起始地址。
  • mkimage 在 centos 上需要安装 yum install uboot-tools (其他环境类似)

 

11、参考

https://blog.csdn.net/hanglinux/article/details/51438597

posted on 2023-06-10 14:45  红旗kernel  阅读(473)  评论(0编辑  收藏  举报

导航