The image header is an array of structures containing information related to each image, such as an ELF file, CFrame, NPI, CDOs, data files, and so forth. Each image can have multiple partitions, for example, an ELF can have multiple loadable sections, each of which form a partition in the boot image. An image header points to the partitions (partition headers) that are associated with this image. Multiple partition files can be grouped within an image using the BIF keyword "image"; this is useful for combining all the partitions related to a common subsystem or function in a group. Bootgen creates the required partitions for each file and creates a common image header for that image. The following table contains the information of number of partitions related to an image.
Offset | Name | Description |
---|---|---|
0x0 | First Partition Header | Word offset to first partition header |
0x4 | Number of Partitions | Number of partitions present for this image |
0x8 | Revoke ID | Revoke ID for Meta Header |
0xC | Image Attributes | See Image Attributes table |
0x10-0x1C | Image Name | ASCII name of the image. Max of 16 characters. Fill with Zeros when padding is required. |
0x20 | Image/Node ID | Defines the resource node the image is initializing |
0x24 | Unique ID | Defines the affinity/compatibility identifier when required for a given device resource |
0x28 | Parent Unique ID | Defines the required parent resource UID for the configuration content of the image, if required |
0x2c | Function ID | Identifier used to capture the unique function of the image configuration data |
0x30 | DDR Low Address for Image Copy | The DDR lower 32-bit address where the image should be copied when memcpy is enabled in BIF |
0.34 | DDR High Address for Image Copy | The DDR higher 32-bit address where image should be copied when memcpy is enabled in BIF |
0x38 | Reserved | |
0x3C | Checksum | A sum of all the previous words. |
The following table shows the Image Header Attributes.
Bit Field | Name | Description |
---|---|---|
31:9 | Reserved | 0 |
8 | Delay Hand off |
0 – Handoff the image now (default) 1 – Handoff the image later |
7 | Delay load |
0 – Load the image now (default) 1 – Load the image later |
6 | Copy to memory |
0 – No copy to memory (Default) 1 – Image to be copied to memory |
5:3 | Image Owner |
0 - PLM (default) 1 - Non-PLM 2-7 – Reserved |
2:0 | Reserved | 0 |