dumpifs

Dump an image filesystem

Syntax:

dumpifs [-bmrvxz] [-d dir] [-f file] [-u file] [-V file] image [file...]

Runs on:

QNX Neutrino, Linux, Mac, Microsoft Windows

Options:

-b
When using the -f or -x option, extract to the basenames of the files.
-d dir
The directory to which to extract files. The default is the current working directory.
-f file
Extract the named file. You can use the -f option more than once.
-m
Display the MD5 checksum of each file in the image filesystem.
-r
Rewrite absolute symbolic links (which have target paths starting with “/”) so the link target is relative to the location where the filesystem is extracted to.

Suppose your IFS buildfile contains a symbolic link from /abc/def/foo to /xyz/bar. On the development host, /xyz/bar will likely not point to the expected object. If you specify -r, and the filesystem is extracted to $HOME/ifsroot, access to $HOME/ifsroot/abc/def/foo is redirected to $HOME/ifsroot/abc/def/../../xyz/bar, which collapses to the canonical form of $HOME/ifsroot/xyz/bar and keeps the symbolic link functional.

Effectively, for each directory component in the symbolic link's own path, a ../ is prepended to its target path.

-u file
If the image is compressed, put an uncompressed copy in file.
-V file
(QNX Neutrino 7.1 or later) Output a comma-separated listing of the IFS content to file. Specify a dash (-) to send the information to standard output.
-v
Verbose operation. Specify more than one v to display more information.
-x
Extract the files specified after the image. If you don't specify the -x, dumpifs displays information on individual files instead of unpacking them. If you don't specify the file name, all files will be extracted.
-z
Disable the zero check while searching for the startup header. The dumpifs utility checks that certain fields in the header are set to zero, in order to be sure that it's found the header. If you set these fields to some other value, you'll need to specify this option.
file
The basename of a file, directory, device, or link to display or extract. If there are several files, use spaces to separate them.

Description:

The dumpifs utility dumps the contents of an image filesystem.

You can also use dumpifs with the -f or -x option to extract files from the image filesystem. The files are extracted into the current working directory, or into the directory you specify with the -d option. If you specify -b, the files are put directly into the directory; if you don't specify -b, the files are extracted to the pathname specified in the image.

This program uses the OpenSSL library for cryptography services.

Examples:

$ dumpifs shell.ifs
   Offset     Size  Name
        0      288  *.boot
      288      100  Startup-header flags1=0x1 paddr_bias=0
      388     6008  startup.*
     6390       59  Image-header mountpoint=/
     63ec      1ac  Image-directory
     ----     ----  Root-dirent
     6598       8c  proc/boot/data1
     6624       5c  proc/boot/.script
     6680       14  proc/boot/data2
     7000    2c02c  proc/boot/procnto
    34000    12ad0  proc/boot/devc-con
    47000     b66c  proc/boot/esh
    53000     d7fc  proc/boot/ls
    61000     7394  proc/boot/cat
Checksums: image=0x6d5fb484 startup=0x274d7c89

Caveats:

This utility will not work on an image that has been built using a filter such as srec (for more information on image filters, see mkifs). If you wanted to run dumpifs on such an image, you would build the image omitting the filter stage in your mkifs buildfile (you would then need to run the filter by hand later in order to make a viable image for your target).