Let’s take the example of the Pine64, an ARM based machine. To be able to produce an image targeting this board, we need the following elements:
operating-systemrecord containing at least an appropriate kernel (
linux-libre-arm64-generic) and bootloader
u-boot-pine64-lts-bootloader) for the Pine64.
image-typerecord providing a way to turn an
operating-systemrecord to an
imagerecord suitable for the Pine64.
imagethat can be instantiated with the
guix system imagecommand.
(gnu system images pine64) module provides all those elements:
The module returns the
pine64-barebones-raw-image in order for users
to be able to run:
guix system image gnu/system/images/pine64.scm
Now, thanks to the
pine64-image-type record declaring the
image-type, one could also prepare a
my-pine.scm file with the following content:
(use-modules (gnu system images pine64)) (operating-system (inherit pine64-barebones-os) (timezone "Europe/Athens"))
to customize the
pine64-barebones-os, and run:
$ guix system image --image-type=pine64-raw my-pine.scm
Note that there are other modules in the