Next: , Previous: , Up: Creating System Images   [Contents][Index]


16.3 image-type Reference

The guix system image command can, as we saw above, take a file containing an image declaration as argument and produce an actual disk image from it. The same command can also handle a file containing an operating-system declaration as argument. In that case, how is the operating-system turned into an image?

That’s where the image-type record intervenes. This record defines how to transform an operating-system record into an image record.

Data Type: image-type

This is the data type representing an image-type.

name

The image-type name as a mandatory symbol, 'efi32-raw for instance.

constructor

The image-type constructor, as a mandatory procedure that takes an operating-system record as argument and returns an image record.

There are several image-type records provided by the (gnu system image) and the (gnu system images …) modules.

Scheme Variable: efi-raw-image-type

Build an image based on the efi-disk-image image.

Scheme Variable: efi32-raw-image-type

Build an image based on the efi32-disk-image image.

Scheme Variable: qcow2-image-type

Build an image based on the efi-disk-image image but with the compressed-qcow2 image format.

Scheme Variable: iso-image-type

Build a compressed image based on the iso9660-image image.

Scheme Variable: uncompressed-iso-image-type

Build an image based on the iso9660-image image but with the compression? field set to #false.

Scheme Variable: docker-image-type

Build an image based on the docker-image image.

Scheme Variable: raw-with-offset-image-type

Build an MBR image with a single partition starting at a 1024KiB offset. This is useful to leave some room to install a bootloader in the post-MBR gap.

Scheme Variable: pinebook-pro-image-type

Build an image that is targeting the Pinebook Pro machine. The MBR image contains a single partition starting at a 9MiB offset. The u-boot-pinebook-pro-rk3399-bootloader bootloader will be installed in this gap.

Scheme Variable: rock64-image-type

Build an image that is targeting the Rock64 machine. The MBR image contains a single partition starting at a 16MiB offset. The u-boot-rock64-rk3328-bootloader bootloader will be installed in this gap.

Scheme Variable: novena-image-type

Build an image that is targeting the Novena machine. It has the same characteristics as raw-with-offset-image-type.

Scheme Variable: pine64-image-type

Build an image that is targeting the Pine64 machine. It has the same characteristics as raw-with-offset-image-type.

Scheme Variable: hurd-image-type

Build an image that is targeting a i386 machine running the Hurd kernel. The MBR image contains a single ext2 partitions with specific file-system-options flags.

Scheme Variable: hurd-qcow2-image-type

Build an image similar to the one built by the hurd-image-type but with the format set to 'compressed-qcow2.

Scheme Variable: wsl2-image-type

Build an image for the WSL2 (Windows Subsystem for Linux 2). It can be imported by running:

wsl --import Guix ./guix ./wsl2-image.tar.gz
wsl -d Guix

So, if we get back to the guix system image command taking an operating-system declaration as argument. By default, the efi-raw-image-type is used to turn the provided operating-system into an actual bootable image.

To use a different image-type, the --image-type option can be used. The --list-image-types option will list all the supported image types. It turns out to be a textual listing of all the image-types variables described just above (see Invoking guix system).


Next: Image Modules, Previous: Instantiate an Image, Up: Creating System Images   [Contents][Index]