Building a bespoke image for a supported platform enables an Ubuntu Core device to be customised at the point of deployment. Customisation options include configuration for both hardware and software, specific kernels, and which snap packages to pre-install.
We are going to create an image of the latest Ubuntu Core release, UC20, first by generating our own authority keys, then making the snap store aware of them, then creating and signing a model assertion before building the image.
This document will walk you through all the steps to build an image for an x86 device, but the same instructions will work for other platforms.
What you’ll learn
- Different fundamental snap notions on the board, like gadget, kernel and core snap
- Assembling a kernel and gadget snaps
- Creating and using your authority keys
- Create a model assertion for your target device
- Compose and build a custom image using the
ubuntu-image
command
What you’ll need
- Ubuntu 20.04 LTS desktop. You can’t do this on an Ubuntu Core device directly as creating your image can take quite some disk spaces. A VM can work as well.
- A Snap Store account to register your authority keys. See Create a developer account for details.
- An SSH public key associated with your Snap Store account. See Adding SSH keys to your account.
- Some very basic knowledge of command line use, know how to edit files.