diskimage

Updated: April 19, 2023

Create an image for a partitioned medium, such as a hard drive, SD card, or MMC

Syntax:

diskimage -c configfile -o imgfile [-hMmpSv]
         [-b bootstrapfile] [-G number | -g] [-s number]

Runs on:

Linux, Mac, Microsoft Windows, QNX Neutrino

Options:

-b bootstrapfile
Use the specified bootstrap file to write to the master boot record (MBR).
-c configfile
Use the specified configuration file.
-G number
Create a GPT disk image with number partitions. The minimum and default number of partitions is 128.
-g
Create a GUID partition table (GPT) disk image (by default, an MBR disk image is created).
-h
Display a help message showing diskimage usage information.
-M
Modify all Power-Safe filesystems, including non-bootable partitions.
-m
Don't modify Power-Safe (fs-qnx6.so) filesystems. The default is to patch all bootable Power-Safe filesystem partitions.
-o imgfile

Write to the specified image file.

On Neutrino systems, imgfile may also be a disk device. In this case, the disk-related configuration parameters (cylinders, head, sectors-per-track, sectors, sector size) are acquired directly from the device and need not be specified in the configuration file.

-p
(MBR disks only) Don't pad the image to the full disk size.
-S
Make sparse copies.
When this option is specified, diskimage will examine each block it reads from one of the partition images. If the block is all zeroes, it will not be written; instead, the according area will be skipped (using lseek()) in the output file. This will effectively result in an all-zero block if the file did not exist before, which allows for better performance when creating large images.

The option must be avoided if the file did exist before, because arbitrary data might remain in areas where all zeroes are expected.

-s number
Read and write up to the specified number of bytes at a time. The default size is 65536.
-v
Increase the verbosity.

Description:

The diskimage utility creates an image for a partitioned medium. The partitioned medium image can contain any number of filesystem images (for example, Power-Safe filesystems that were created using mkqnx6fsimg or mkqnx6fs). After an image is successfully created, it can be copied to a hard drive, SD card, MMC, USB stick, and so on. Options are available to adjust Power-Safe filesystems in the image so that they are bootable. With this command, you can also specify the IPL file to write into the master boot record (MBR).

You must use a configuration file to specify the disk image content and layout. For details of the configuration file contents, see diskimage configuration file.”

Note:

Note that:

  • Creating GPT images with diskimage may contravene the UEFI Specification because writing the image to more than one disk will result in duplicate GUIDs on disks and partitions.
  • Creating a disk image in a new image file and creating a disk image over an existing disk image produce images that are functionally identical. However, when you examine the image created over an existing image, you will see the vestiges of the previous image; diskimage doesn't zero the image file before it creates the disk image.

Examples:

Create an image:

diskimage –c mydisk.cfg –o mydisk.img

Create an image and specify a primary boot loader (IPL):

diskimage -c mydisk.cfg 
          -b target/qnx6/x86_64/boot/sys/ipl-diskpc1 
          -o mydiskipl.img

Create an image with a GUID partition table (GPT disk):

diskimage -g –c mydisk.cfg –o mydisk.img

Exit status:

0
The command completed without errors.
1
An error occurred while running the command. Possible errors include but aren't limited to:
  • the configuration file wasn't specified
  • the configuration file couldn't be read
  • there were syntax errors in the configuration file