Ubuntu Core documentation

Ubuntu Core documentation

Welcome to the home of Ubuntu Core documentation.

Ubuntu Core is Ubuntu, engineered for IoT and embedded systems. It’s easy to deploy, tamper-resistant and hardened against corruption.

Ubuntu Core features:

  • simple, consistent installation and deployment: Ubuntu Core is installed via an immutable image, which can be either installed or built specifically for your platform and application

  • a read-only filesystem: apps run in isolation from each other and access to system resources is only granted with explicit permissions

  • transactional updates: signed, autonomous and atomic, updates can withstand unpredictable hardware and network conditions, even to the operating system

  • snap-based, security first: snaps are secure, easy to build, and painless to distribute. Public/private key validation ensures what’s running is exactly what’s intended to run

From a single Raspberry Pi, to a deployment of tens of thousands, it’s the ideal platform for anything that needs to run securely, be ever-ready, autonomously updated, and tamper-proof.

To learn more, take a look at the highlighted documentation below, or dive into the documentation on the left.

Discovering Ubuntu Core
Getting started Install and try Ubuntu Core on your own devices
What is Ubuntu Core Inside Ubuntu Core’s strengths and advantages
Using Ubuntu Core Access your device, install apps and manage services
Advanced features
Snaps in Ubuntu Core Discover which snaps Ubuntu Core is built upon
Security and sandboxing Security policies and how they’re implemented
Full disk encryption Protect the confidentiality and integrity of device data
Building images
Image building How to build images for your hardware
Custom images Bespoke images for any supported platform
Gadget snaps Understanding the gadget snap and system properties


Level Path Navlink
1 Ubuntu Core docs
0 Using
1 getting-started Getting started
1 what-is-ubuntu-core What is Ubuntu Core?
1 supported-platforms System requirements
1 snaps-in-ubuntu-core Snaps in Ubuntu Core
1 using-core Using Ubuntu Core
1 security-and-sandboxing Security and sandboxing
1 uc20/inside Inside Ubuntu Core 20
2 uc20/install Installing UC20
2 uc20/full-disk-encryption Full disk encryption
2 /uc20/storage-layout Storage layout
2 uc20/recovery-modes Recovery modes
2 uc20/release-notes Release notes
0 Building a device
1 image-building Image building
1 custom-images Custom images
1 board-enablement Board enablement
1 configuration-and-hooks Configuration and hooks
0 Managing a device
1 store-overview Using a store
1 refresh-control Refresh control
1 system-user Adding a system user
1 networkmanager Network Manager
1 bluez Bluetooth management
0 Reference
1 reference/assertions Assertions
2 reference/assertions/account account
2 reference/assertions/account-key account-key
2 reference/assertions/model model
2 reference/assertions/serial serial
2 reference/assertions/snap-declaration snap-declaration
2 reference/assertions/snap-build snap-build
2 reference/assertions/snap-revision snap-revision
2 reference/assertions/system-user system-user
2 reference/assertions/validation validation
1 gadget-snaps Gadget snap format
1 ubuntu-core-configuration Ubuntu Core configuration
1 Snapd REST API
0 Snap documentation


Mapping table
Path Location
/core/docs/bluetooth-management /core/docs/bluez
/core/docs/network-management-services /core/docs/networkmanager
/core/docs/build-store /core/docs/store-overview
/core/docs/validations-and-refresh-control /core/docs/refresh-control
/core/docs/reference/interfaces https://snapcraft.io/docs/supported-interfaces
/core/docs/guides/intro/get-started /core/docs/getting-started
/core/docs/guides/build-device/board-enablement /core/docs/board-enablement
/core/docs/guides/manage-devices/ /core/docs/system-user
/core/docs/stacks/network/network-manager/docs /core/docs/networkmanager
/core/docs/stacks/bluetooth/bluez/docs /core/docs/bluez
/core/docs/guides/go-to-production/simple /core/docs/production/simple
/core/docs/guides/go-to-production/advanced /core/docs/production/advanced
/core/docs/guides/go-to-production/intro /core/docs/production/intro
/core/docs/guides/manage-devices /core/docs/system-user
/core/docs/image/custom-images /core/docs/custom-images
/core/docs/build-store/refresh-control /core/docs/refresh-control
/core/docs/reference/gadget /core/docs/gadget-snap
/core/docs/guides/intro/security /core/docs/security-and-sandboxing
/core/docs/releases/uc20 /core/docs/uc20/release-notes
/core/docs/uc20 Ubuntu Core 20
/core/docs/uc20/installing Installing Ubuntu Core 20
/core/docs/uc20/release-notes Ubuntu Core 20 release notes
/core/docs/network-manager-release-notes Network Manager release notes
/core/docs/networkmanager Network Manager
/core/docs/uc20 Ubuntu Core 20
/core/docs/ubuntu-core-20 https://discourse.ubuntu.com/t/ubuntu-core-20/20421
/core/docs/stores-and-developer-accounts Stores and developer accounts
/core/docs/system-user System user
/core/docs/audio-management/access-from-other-snaps https://discourse.ubuntu.com/t/access-from-other-snaps/19900
/core/docs/audio-management Audio management
/core/docs/network-services Network management & services
/core/docs/production/intro Introduction to production
/core/docs/production/simple Simple production model - Ubuntu store
/core/docs/production/advance Advanced production model - Brand store
/core/docs/reference/assertions/serial Serial assertion
/core/docs/reference/assertions/snap-declaration Snap-declaration assertion
/core/docs/reference/assertions/validation Validation assertion
/core/docs/reference/gadget-snap-forma https://discourse.ubuntu.com/t/gadget-snap-format/19753
/core/docs/reference/automatic-refreshe Automatic refreshes
/core/docs/reference/core-configuration Ubuntu Core configuration
/core/docs/reference/core-interfaces Core interfaces reference
/core/docs/modem-manager Install Modem Manager