Ubuntu Core is a version of the Ubuntu operating system designed and engineered for deploying IoT and embedded systems.
In Ubuntu Core, every element of the system runs within a confined sandbox using Snap packages, which are used exclusively to create a transaction-based system. Security and robustness are the 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 a PC-style system hidden for media streaming, or an embedded ARM device 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
Tutorials 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 |
Explanation Concepts - discussion and clarification of key topics |
Reference Technical information - specifications, APIs, architecture |
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.
- Community engagement commitment
- Our Code of Conduct
- How to get support
- Join the Discourse forum
- Interactive chat on Matrix.org
- Product roadmap
Thinking about using Ubuntu Core for your next project? Get in touch!
Navigation
Navigation
Level | Path | Navlink |
---|---|---|
1 | docs | Ubuntu Core documentation |
1 | uc24 | Ubuntu Core 24 |
1 | tutorials | Tutorials |
2 | get-started | Get started |
3 | build-an-image | Build your first image |
4 | create-ubuntu-one | Access Ubuntu One |
4 | create-model-assertion | Create a model |
4 | sign-model-assertion | Sign the model |
4 | build-write-image | Build the image |
4 | boot-an-image | Boot the image |
3 | try-pre-built-images | Try pre-built images |
4 | install-on-a-vm | Install on a VM |
4 | install-on-a-device | Install on a device |
5 | install-with-imager | Use Raspberry Pi Imager |
5 | install-with-dd | Use the dd command |
1 | how-to | How-to guides |
2 | first-steps | Using Ubuntu Core |
2 | image-building | Image creation |
3 | use-ubuntu-image | Use ubuntu-image |
3 | custom-images | Add custom snaps |
3 | splash-screen | Add a splash screen |
3 | console-conf | Add console-conf |
3 | preseeding | Optimise boot speed |
3 | partition-sizes | Calculate partition sizes |
3 | gadget-building | Build a gadget snap |
3 | kernel-building | Build a kernel snap |
3 | board-enablement | Board enablement |
2 | managing | Manage Ubuntu Core |
3 | connect-with-ssh | Use Ubuntu One SSH |
3 | testing-with-qemu | Test on QEMU |
3 | upgrade | Upgrade Ubuntu Core |
3 | configure | Set system options |
3 | use-recovery-mode | Use a recovery mode |
3 | system-user | Add a system user |
3 | modify-kernel-options | Modify kernel options |
3 | recovery-system-api | Create a recovery system from the API |
3 | system-time | Set system time |
3 | troubleshooting | Troubleshooting |
2 | containers | Container deployment |
3 | docker-run | Run a Docker container |
3 | docker-deploy | Deploy Docker from a snap |
3 | docker-snap-image | Package Docker images in a snap |
3 | docker-image | Build an image for Docker deployment |
1 | reference | Reference |
2 | system-requirements | System requirements |
2 | supported-platforms | Testing platforms |
2 | gadget-snaps | Gadget snap format |
2 | kernel-boot-parameters | Kernel boot parameters |
2 | reference/assertions | Assertions |
3 | reference/assertions/account | account |
3 | reference/assertions/account-key | account-key |
3 | reference/assertions/model | model |
3 | reference/assertions/repair | repair |
3 | reference/assertions/serial | serial |
3 | reference/assertions/snap-build | snap-build |
3 | reference/assertions/snap-declaration | snap-declaration |
3 | reference/assertions/snap-revision | snap-revision |
3 | reference/assertions/system-user | system-user |
3 | reference/assertions/store | store |
3 | reference/assertions/validation | validation |
3 | reference/assertions/validation-set | validation-set |
1 | explanation | Explanation |
2 | remodelling | Remodelling |
2 | refresh-control | Refresh control |
2 | recovery-modes | Recovery modes |
2 | full-disk-encryption | Full disk encryption |
2 | preseed-performance | Preseed performance |
2 | installation-process | How installation works |
2 | docker-companion-snap | Docker companion snap |
2 | security-and-sandboxing | Security and sandboxing |
2 | components | Core components |
3 | snaps-in-ubuntu-core | Snaps in Ubuntu Core |
3 | storage-layout | Storage layout |
2 | Stores | |
3 | brand-accounts | Brand accounts |
3 | dedicated-snap-stores | Dedicated Snap Stores |
3 | store-scoping | Store scoping |
3 | store-overview | Store overview |
2 | System snaps | |
3 | bluez | Bluetooth management |
3 | modemmanager | Modem Manager |
4 | modemmanager/install | Install Modem Manager |
4 | How-to guides | |
5 | modemmanager/gathering-modem-information | Gather Modem Information |
5 | modemmanager/entering-sim-passwords | Enter SIM passwords |
5 | modemmanager/configuring-cellular-connnections | Configure cellular connections |
4 | Reference | |
5 | modemmanager/debug | Debug |
5 | modemmanager/available-commands | Available commands |
5 | modemmanager/dbus-api | DBus API |
5 | modemmanager/release-notes | Release Notes |
3 | networkmanager | Network Manager |
4 | networkmanager/install | Install NetworkManager |
4 | How-to guides | |
5 | networkmanager/exploring-network-status | Explore Network Status |
5 | networkmanager/configure-wifi-connections | Configure WiFi Connections |
5 | networkmanager/configure-wifi-access-points | Configure WiFi Access Points |
5 | networkmanager/configure-cellular-connections | Configure Cellular Connections |
5 | networkmanager/configure-shared-connections | Configure shared connections |
5 | networkmanager/configure-vpn | Configure VPN connections |
5 | networkmanager/networkmanager-and-netplan | NetworkManager and netplan |
5 | networkmanager/edit-connections | Edit Connections |
5 | networkmanager/logging-messages | Message logging |
4 | Reference | |
5 | networkmanager/routing-tables | Routing Tables |
5 | Snap Configuration | |
6 | networkmanager/snap-configuration/default-renderer | Default renderer |
6 | networkmanager/snap-configuration/debug | Debug |
6 | networkmanager/snap-configuration/connectivity-check | Connectivity check |
6 | networkmanager/snap-configuration/wake-on-wlan | Wake on WLAN |
6 | networkmanager/snap-configuration/wifi-powersave | WIFi Powersave |
6 | networkmanager/networkmanager-available-commands | Available Commands |
6 | networkmanager/networkmanager-dbus-api | DBUS API |
5 | networkmanager/release-notes | Release Notes |
5 | networkmanager/report-a-bug | Report a Bug |
1 | reference/docs-guidelines | Contribute to our docs |
community | Community engagement | |
test-on-hardware | Test Ubuntu Core on hardware | |
test-topic | test-topic | |
uc20/install-nuc | Intel NUC | |
uc22 | Ubuntu Core 22 |
Redirects
Mapping table
Path | Location |
---|---|
/tutorials/how-to-ubuntu-core-secure-boot-full-disk-encryption | /core/docs/full-disk-encryption |
/core/docs/uc20/install-raspberry-pi | /core/docs/install-with-imager |
/core/docs/install-nuc | /core/docs/install-with-dd |
/core/docs/install-on-a-raspberry-pi | /core/docs/install-with-imager |
/core/docs/using-ubuntu-image | /core/docs/use-ubuntu-image |
/core/docs/using-ubuntu-core | /core/docs/first-steps |
/core/docs/getting-started | /core/docs/get-started |
/core/docs/install | /core/docs/try-pre-built-images |
/core/docs/install-raspberry-pi | /core/docs/install-with-imager |
/core/docs/ubuntu-core-configuration | System options | Snapcraft documentation |
/core/docs/uc20/system-time | /core/docs/system-time |
/core/docs/uc20/installation-process | /core/docs/installation-process |
/core/docs/uc20/full-disk-encryption | /core/docs/full-disk-encryption |
/core/docs/uc20/remodelling | /core/docs/remodelling |
/core/docs/uc20/inside | /core/docs/components |
/core/uc22/upgrade-to-uc22 | /core/docs/upgrade |
/core/docs/kernel-options | /core/docs/modify-kernel-options |
/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 | Supported interfaces | Snapcraft documentation |
/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 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/production/intro | Introduction to production |
/core/docs/production/simple | Simple production model - Ubuntu store |
/core/docs/production/advance | Advanced production model |
/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 |