Default image settings and build attributes.
Different image layers are provided to support image generation with a specific footprint while allowing for customisation. Unless otherwise stated, the following apply to all image layers:
Provider
rpi-image-gen uses genimage for creating filesystem images.
Default Partition Size
Each partition image encapsulated in a disk image has a default size. Typically this is 100% of the filesystem that is created and filled, which means there is no headroom if the filesystem is intended to be writable. Customisation of images should involve setting variables governing size accordingly if the default is not suitable. 100% is likely a suitable size if the partition contains a read-only filesystem such as squashfs.
mke2fs.conf
In order to ensure ext filesystems are created consistently, image creation involves genimage using a particular mke2fs.conf. Additional options may be passed to mke2fs via the genimage template.
vfat
When creating FAT filesystems, different options may be passed to mkdosfs(8) by genimage depending on needs.
Sparse Images
Image layers create sparse images by default. Sparse format means filesystem images with lots of empty space can be transferred and written to device storage in a much shorter time using fastboot when compared with primitive tools such as dd. Other utilities such as bmaptool provide a similar much-improved way for storage handling of large images. Because genimage can create sparse images itself, this removes the need to use AOSP tools in the image creation flow.
|
Warning
|
Older versions of |
Depends on:
Required by:
Requires Provider: device
References:
IGconf_sys_workroot,
IGconf_artefact_version
Declares (prefix: image):
| Variable | Description | Default | Validation | Policy |
|---|---|---|---|---|
IGconf_image_suffix |
The base suffix of generated raw image(s) |
img
|
Non-empty string value | immediate |
IGconf_image_compression |
Identifier for the compression scheme used when deploying image assets. |
none
|
Must be one of: none, zstd | immediate |
IGconf_image_version |
Version string of generated images. This always maps to the artefact version. |
${IGconf_artefact_version}
|
Non-empty string value | force |
IGconf_image_name |
The base name for all generated images |
rpi-${IGconf_image_version}
|
Non-empty string value | immediate |
IGconf_image_pmap |
Set the identifier string for the image Provisioning Map (PMAP). The PMAP file defines how the image will be provisioned on the device for which it's intended. The PMAP is part of the Image Description JSON file generated by the build. Providing a PMAP is optional, but is mandatory for provisioning the image using Raspberry Pi tools. |
<empty>
|
String value (may be empty) | lazy |
IGconf_image_pmap_schema |
Image Description PMAP schema for validation |
${DIRECTORY}/schemas/provisionmap/v1/schema.json
|
Non-empty string value | lazy |
IGconf_image_outputdir |
Location of all image build artefacts. |
${IGconf_sys_workroot}/image-${IGconf_image_name}
|
Non-empty string value | immediate |
IGconf_image_provider |
Image generation provider |
genimage
|
Must be one of: genimage | lazy |
IGconf_image_assetdir |
Image specific asset location. Use this directory to hold image provider templates, geometry configuration, overlays, etc particular to the image layout. |
/dev/null
|
Non-empty string value | lazy |
IGconf_image_pmapfile |
Full path to the Provisioning Map file. When IGconf_image_pmap is specified, this provides the complete path to the pmap file. If no pmap identifier is set, this variable remains empty. |
${IGconf_image_pmap:+${IGconf_image_assetdir}/device/provisionmap-${IGconf_image_pmap}.json}
|
String value (may be empty) | lazy |
File: base/image-base.yaml
Type: static