解压一个linux固件包uramdisk.image.gz

1. 查看该文件内容

sl@sl:/mnt/d/work/firmware/tmp$ file uramdisk.image.gz
uramdisk.image.gz: u-boot legacy uImage, , Linux/ARM, RAMDisk Image (gzip), 12772586 bytes, Fri Jul  3 03:49:46 2020, Load Address: 0x00000000, Entry Point: 0x00000000, Header CRC: 0xA759788F, Data CRC: 0xE79FFF76
sl@sl:/mnt/d/work/firmware/tmp$

2. 可以看出它并不是压缩文件,它是一个被添加了头信息的文件,用dd命令去掉头

sl@sl:/mnt/d/work/firmware/tmp$ dd if=uramdisk.image.gz of=ramdisk.image.gz bs=64 skip=1
199571+1 records in
199571+1 records out
12772586 bytes (13 MB, 12 MiB) copied, 69.9315 s, 183 kB/s
sl@sl:/mnt/d/work/firmware/tmp$ ls

3. 再查看文件ramdisk.image.gz内容

sl@sl:/mnt/d/work/firmware/tmp$ file ramdisk.image.gz
ramdisk.image.gz: gzip compressed data, was "ramdisk.image", last modified: Fri Jul  3 03:49:43 2020, from Unix, original size modulo 2^32 104857600

4. 是一个gzip文件,解压它,生成了ramdisk.image的文件

sl@sl:/mnt/d/work/firmware/tmp$ gunzip ramdisk.image.gz
sl@sl:/mnt/d/work/firmware/tmp$ ls
ramdisk.image  uramdisk.image.gz

5. 再查看ramdisk.image,是一个文件系统

sl@sl:/mnt/d/work/firmware/tmp$ file ramdisk.image
ramdisk.image: Linux rev 1.0 ext2 filesystem data, UUID=3661aa15-b212-4de1-a366-5e91d21f10b1, volume name "ramdisk"

6. 挂载该文件系统

sl@sl:/mnt/d/work/firmware/tmp$ mkdir tmp
sl@sl:/mnt/d/work/firmware/tmp$ sudo mount -o loop ramdisk.image tmp/

7. 进入tmp查看

sl@sl:/mnt/d/work/firmware/tmp/tmp$ ls
bin  boot  config  dev  etc  home  init  lib  lost+found  media  mnt  proc  run  sbin  sys  tmp  usr  var  www

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值