mirror of
https://github.com/linux-sunxi/u-boot-sunxi.git
synced 2024-02-12 11:16:03 +08:00
Add dumpimage, a tool to extract data from U-Boot images
Given a multi-file image created through the mkimage's -d option: $ mkimage -A x86 -O linux -T multi -n x86 -d vmlinuz:initrd.img:System.map \ multi.img Image Name: x86 Created: Thu Jul 25 10:29:13 2013 Image Type: Intel x86 Linux Multi-File Image (gzip compressed) Data Size: 13722956 Bytes = 13401.32 kB = 13.09 MB Load Address: 00000000 Entry Point: 00000000 Contents: Image 0: 4040128 Bytes = 3945.44 kB = 3.85 MB Image 1: 7991719 Bytes = 7804.41 kB = 7.62 MB Image 2: 1691092 Bytes = 1651.46 kB = 1.61 MB It is possible to perform the innverse operation -- extracting any file from the image -- by using the dumpimage's -i option: $ dumpimage -i multi.img -p 2 System.map Although it's feasible to retrieve "data files" from image through scripting, the requirement to embed tools such 'dd', 'awk' and 'sed' for this sole purpose is cumbersome and unreliable -- once you must keep track of file sizes inside the image. Furthermore, extracting data files using "dumpimage" tool is faster than through scripting. Signed-off-by: Guilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com> Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:

committed by
Tom Rini

parent
f86ed6a8d5
commit
a804b5ce2d
33
tools/dumpimage.h
Normal file
33
tools/dumpimage.h
Normal file
@ -0,0 +1,33 @@
|
||||
/*
|
||||
* Based on mkimage.c.
|
||||
*
|
||||
* Written by Guilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0+
|
||||
*/
|
||||
|
||||
#ifndef _DUMPIMAGE_H_
|
||||
#define _DUMPIMAGE_H_
|
||||
|
||||
#include "os_support.h"
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <sha1.h>
|
||||
#include "fdt_host.h"
|
||||
#include "imagetool.h"
|
||||
|
||||
#undef DUMPIMAGE_DEBUG
|
||||
|
||||
#ifdef DUMPIMAGE_DEBUG
|
||||
#define debug(fmt, args...) printf(fmt, ##args)
|
||||
#else
|
||||
#define debug(fmt, args...)
|
||||
#endif /* DUMPIMAGE_DEBUG */
|
||||
|
||||
#endif /* _DUMPIMAGE_H_ */
|
Reference in New Issue
Block a user