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 htop and bashtop in seconds.

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. ®

Bootnote

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 ubuntu-core-22-amd64.img.

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 .vdi file.

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".

There are more detailed instructions in this blog post and on the Snapcraft forums.

More about

TIP US OFF

Send us news


Other stories you might like