1.通过file ramdisk.gz命令查看如下:
$ file ramdisk.gz
ramdisk.gz: u-boot legacy uImage, ramdisk, Linux/ARM, RAMDisk Image (Not compressed), 22077065 bytes, Wed Feb 20 05:44:29 2019, Load Address: 0x88080000, Entry Point: 0x88080000, Header CRC: 0xB56EB752, Data CRC: 0xFED1A0FD
或者dumpimage -l ramdisk.gz命令查看如下:
$ dumpimage -l ramdisk.gz
Image Name: ramdisk
Created: Wed Feb 20 13:44:29 2019
Image Type: ARM Linux RAMDisk Image (uncompressed)
Data Size: 22077065 Bytes = 21559.63 kB = 21.05 MB
Load Address: 88080000
Entry Point: 88080000
可知ramdisk.gz实际为ramdisk.img,且增加了u-boot头,64Bytes大小。
2.首先去掉ramdisk.gz镜像的前64Bytes数据,通过dd if=ramdisk.gz of=ramdisk bs=64 skip=1命令如下,并通过file ramdisk命令查看如下:
$ sudo dd if=ramdisk.gz of=ramdisk bs=64 skip=1
344954+1 records in
344954+1 records out
22077065 bytes (22 MB, 21 MiB) copied, 0.497012 s, 44.4 MB/s
$ file ramdisk
ramdisk: gzip compressed data, last modified: W

本文详细介绍了如何解压和还原ramdisk.gz文件。首先通过dd命令去除u-boot头,然后使用gunzip解压gzip压缩文件,再用cpio解压cpio格式的压缩包至tmp目录。完成修改后,利用cpio和gzip重新打包,并用mkimage添加uboot头。在解压的文件系统中,还需修改/etc/passwd文件以允许root用户无密码登录。
最低0.47元/天 解锁文章
2588

被折叠的 条评论
为什么被折叠?



