This article is more than 1 year old
Ubuntu releases Core 22: Its IoT and edge distro
A tougher nut to crack than the regular flavor, some will find it very tasty
Canonical's Linux distro for edge devices and the Internet of Things, Ubuntu Core 22, is out.
This is the fourth release of Ubuntu Core, and as you might guess from the version number, it's based on the current Long Term Support release of Ubuntu, version 22.04.
Ubuntu Core is quite a different product from normal Ubuntu, even the text-only Ubuntu Server. Core has no conventional package manager, just Snap, and the OS itself is built from Snap packages. Snap installations and updates are transactional: this means that either they succeed completely, or the OS automatically rolls them back, leaving no trace except an entry in a log file.
Combined with Core's read-only root filesystem, the idea is that the operating system is always in a known-good state, and should be able to quickly and reliably recover from a power outage or a failed package installation, without the risk of disk corruption. As such, the OS can safely update itself, and is configured to do this automatically as soon as you start it. Finally, as shipped, you can only access Core over SSH: you can't log in on its console.
Core is shipped as a ready-to-boot disk image, rather than as an ISO file. The standard setup instructions assume that you'll be using KVM. Also note that you will need an Ubuntu single-sign-on account – formerly known as Ubuntu One, although the storage part is long gone. You'll also need to have set up SSH keys and added your public key to your Ubuntu One account.
When we set up Core 22, it installed several updates and rebooted itself before running its initial setup wizard. That done, we could SSH into it and have a poke around. The compressed download is under 400MB, and the running VM had a little over a 1GB of writable space, mounted at
/writable. You can only install additional software in the form of Snap packages, but this is simple, and you don't even need root privileges to do it – as an experiment, we installed
bashtop in seconds.
- New audio server Pipewire coming to next version of Ubuntu
- Sick of Windows but can't afford a Mac? Consult our cynic's guide to desktop Linux
- Not a GNOME fan, and like the look of Windows? Try KDE Plasma or Cinnamon
- I love the Linux desktop, but that doesn't mean I don't see its problems all too well
Core is designed to be configured automatically via model assertions, and the new version supports remodelling: change an existing model, then push it out to client devices. This should allow Core 20 machines to be upgraded in situ to Core 22, which was not possible with Core 16 or Core 18.
The new version 22 has a bunch of new features, of course. There's an optional, beta-test, pre-emptible kernel for better real-time performance. Validated sets of snaps can be manipulated as a whole, and devices can also be factory reset. You can set quotas on CPU and memory usage, and it now supports full-disk encryption. It supports Canonical's MicroK8s Kubernetes distribution and metal-as-a-Service deployment tools, as you might expect. We only had a quick look, but the documentation looks pretty solid, too.
Ubuntu Core 22 comes in versions for x86-64 machines, including the Intel NUC, and both 32-bit and 64-bit Raspberry Pi hardware, including the 2, 3, 4, 400, Compute Model 4, and Pi Zero 2 W. ®
Watch out: at the time of writing, Ubuntu hasn't updated all of its setup instructions yet. In many places, they still refer to Core 20. You'll need to edit the version number appropriately. The downloads are here, and when it comes to the QEMU part, change the filename in the command to
That done, setup proceeded fine, but unfortunately, we couldn't connect to it, even from a terminal on the same host machine. We had more luck with VirtualBox: all you need to do is extract the disk image, then convert the
.img file to a VDI:
VBoxManage convertdd ubuntu-core-22-amd64.img ubuntu-core-22-amd64.vdi --format VDI
Create a new 64-bit Linux VM, pick Use an existing hard disk file, and point it at the new
Core only boots using UEFI, so on the Settings | System | Motherboard screen, tick Enable EFI (special OSes only). Then go down to Settings | Network and change Attached to: to "Bridged Adapter" instead of "NAT".