Ubuntu Core documentation

Ubuntu Core is a version of the Ubuntu operating system designed and engineered for IoT and embedded systems.

Ubuntu Core updates itself and its applications automatically. Snap packages are used exclusively to create a confined and transaction-based system. Security and robustness are its key features, alongside being easy to install, easy to maintain, and easy to upgrade.

Ubuntu Core is ideal for embedded devices because it manages itself. Whether it’s running on an Intel NUC hidden for media streaming, or a Raspberry Pi handling garage door automation, Ubuntu Core remains transparent, trustworthy and autonomous.

From Linux and maker space tinkerers, to the robotics, automotive and signage industries; from a single device, to a deployment of thousands: Ubuntu Core can handle it.

In this documentation

Get started - a hands-on introduction to Ubuntu Core for new users
How-to guides
Step-by-step guides covering key operations and common tasks
Technical information - specifications, APIs, architecture
Concepts - discussion and clarification of key topics

Project and community

Ubuntu Core is a member of the Ubuntu family. It’s an open source project that welcomes community projects, contributions, suggestions, fixes and constructive feedback.

Thinking about using Ubuntu Core for your next project? Get in touch!


Level Path Navlink
0 tutorials Tutorials
1 install Install Ubuntu Core
2 install-raspberry-pi Raspberry Pi
2 install-nuc Intel NUC
1 build-an-image Build an image
2 create-ubuntu-one Ubuntu One account
2 create-model-assertion Create a model
2 sign-model-assertion Sign the assertion
2 build-write-image Build the image
2 boot-an-image Boot the image
0 how-to How-to guides
1 getting-started Get started
2 connect-with-ssh Connect with SSH
2 testing-with-qemu Test on QEMU
2 using-ubuntu-core First steps with Core
1 image-building Image building
2 using-ubuntu-image Using ubuntu-image
2 custom-images Create a custom image
2 gadget-building Build a gadget snap
2 kernel-building Build a kernel snap
1 /uc22/upgrade-to-uc22 Upgrade to UC22
1 configure Set system options
1 use-recovery-mode Use a recovery mode
1 system-user Add a system user
1 kernel-options Modify kernel boot options
1 reference/troubleshooting Troubleshooting
0 reference Reference
1 system-requirements System requirements
1 supported-platforms Supported platforms
1 ubuntu-core-configuration Configuration options
1 gadget-snaps Gadget snap format
1 Snapd REST API
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-build snap-build
2 reference/assertions/snap-declaration snap-declaration
2 reference/assertions/snap-revision snap-revision
2 reference/assertions/system-user system-user
2 reference/assertions/store store
2 reference/assertions/validation validation
2 reference/assertions/validation-set validation-set
0 explanation Explanation
1 uc20/inside Inside Ubuntu Core
1 recovery-modes Recovery modes
1 /uc20/remodelling Remodelling
1 snaps-in-ubuntu-core Snaps in Ubuntu Core
1 dedicated-snap-stores Dedicated Snap Stores
1 brand-accounts Brand accounts
1 security-and-sandboxing Security and sandboxing
1 uc20/full-disk-encryption Full disk encryption
1 storage-layout Storage layout
1 splash-screen Splash screens
1 /uc20/installation-process Installation process
1 /uc20/system-time System time
1 board-enablement Board enablement
1 store-overview Store overview
1 store-scoping Store scoping
1 refresh-control Refresh control
1 preseeding Preseeding
1 networkmanager Network Manager
2 networkmanager/install Install NetworkManager
2 How-to guides
3 networkmanager/exploring-network-status Explore Network Status
3 networkmanager/configure-wifi-connections Configure WiFi Connections
3 networkmanager/configure-wifi-access-points Configure WiFi Access Points
3 networkmanager/configure-cellular-connections Configure Cellular Connections
3 networkmanager/configure-shared-connections Configure shared connections
3 networkmanager/configure-vpn Configure VPN connections
3 networkmanager/networkmanager-and-netplan NetworkManager and netplan
3 networkmanager/edit-connections Edit Connections
3 networkmanager/logging-messages Message logging
2 Reference
3 networkmanager/routing-tables Routing Tables
3 Snap Configuration
4 networkmanager/snap-configuration/default-renderer Default renderer
4 networkmanager/snap-configuration/debug Debug
4 networkmanager/snap-configuration/connectivity-check Connectivity check
4 networkmanager/snap-configuration/wake-on-wlan Wake on WLAN
4 networkmanager/snap-configuration/wifi-powersave WIFi Powersave
4 networkmanager/networkmanager-available-commands Available Commands
4 networkmanager/networkmanager-dbus-api DBUS API
3 networkmanager/release-notes Release Notes
3 networkmanager/report-a-bug Report a Bug
1 bluez Bluetooth management
1 reference/docs-guidelines Documentation guidelines
test-topic test-topic
uc20/install-raspberry-pi Raspberry Pi
uc20/install-nuc Intel NUC
uc22 Ubuntu Core 22


Mapping table
Path Location
/core/docs/brand-stores /core/docs/dedicated-snap-stores
/core/docs/quick-start /core/docs/build-an-image
/core/docs/about-network-manager /core/docs/networkmanager
/core/docs/uc20/storage-layout /core/docs/storage-layout
/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 on a Raspberry Pi
/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 options
/core/docs/reference/core-interfaces Core interfaces reference
/core/docs/modem-manager Install Modem Manager

The list of assertions on this page seems incomplete.

Why not list Intel NUC among supported platforms? That would seem to be a better example than Dragonboard, which I believe is supported only under UC18 (if I am not mistaken).

I might drop the reference to DragonBoard (unsupported since UC18), and add reference to Intel NUC.

1 Like

The entry for “Assertions” under “Reference” should be an anchor so one can link to it as a catch-all link for all assertions.

Thanks for the suggestion. I’ve just done this: