Splash screen configuration
By default, Ubuntu Core does not display a splash screen when a device is booting or shutting down. However, on Ubuntu Core 22, a splash screen can be enabled, either to display the built-in Ubuntu Core branding, or to display custom vendor branding or imagery.
Ubuntu Core’s splash screen is based on Ubuntu’s Plymouth-based splash screen implementation. It’s enabled by adding
quiet splash as a kernel boot parameter:
Ubuntu Core kernel boot parameters are configured in the Gadget snap incorporated into the Ubuntu Core image. For details on how to add a kernel boot parameter, and rebuild a modified Ubuntu Core image, see Customise the kernel command line.
Requirements : Splash screen configuration is only available on Ubuntu Core 22 and later.
Customised splash screen
The splash screen can be customised in two different ways, either by including a new logo or image file, or by completely replacing the Plymouth theme used to generate the splash screen.
New vendor logo or image
A PNG-formatted vendor logo, or any other PNG-formatted image, can be placed within a new
/splash directory in the root of the Gadget snap. The image file must be called
. ├── cmdline.extra ├── grub.conf ├── grubx64.efi ├── meta │ ├── gadget.yaml │ ├── gui │ ├── hooks │ │ └── configure │ └── snap.yaml ├── pc-boot.img ├── pc-core.img ├── shim.efi.signed ├── snap │ ├── command-chain │ │ └── snapcraft-runner │ └── hooks │ └── configure └── splash └── vendor-logo.png
The image will be scaled accordingly and images with a 2:1 aspect ratio work best (such as images with resolution of 800x400). Larger files will obviously increase the size of the gadget snap and the resulting Ubuntu Core image.
Replacement Plymouth theme
The most flexible way to change the appearance of the Ubuntu Core splash screen is to install a replacement Plymouth theme.
While Plymouth itself supports a variety of different splash plugins, Ubuntu Core’s implementation only supports its Scripts (script.so) plugin. This is the most flexible plugin as it provides its own feature-rich scripting language.
A new theme must be placed within a
/splash/plymouth/themes/vendor directory in the root of the Gadget snap:
A good custom Plymouth theme example for Ubuntu Core is its own default theme:
Note that the configuration file inside the
vendor/ directory must be named
vendor.plymouth. Configuration inside will point to the script file.
See Building a gadget snap for details on how to create a custom gadget snap.