Its IoT and edge distribution • The Register
Canonical’s Linux distribution for edge devices and the Internet of Things, Ubuntu Core 22, has been released.
This is the fourth version of Ubuntu kerneland as you can guess from the version number, it’s based on the current Ubuntu long-term support release, version 22.04.
Ubuntu Core is quite a different product from normal Ubuntu, even text-only Ubuntu server. Core doesn’t have a conventional package manager, just Snap, and the operating system itself is built from Snap packages. Instant installations and updates are transactional: this means that they succeed completely or the operating system rolls them back automatically, leaving no trace except for 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 recover quickly and reliably from a power failure or installation of package failed, no risk of disk corruption. As such, the operating system is safe to update itself and is set to do so automatically as soon as you start it. Finally, as shipped, you can only access Core via SSH: you cannot connect to its console.
Core ships as a ready-to-boot disc image, rather than an ISO file. The standard configuration instructions assume you will 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 will also need to have configured SSH keys and added your public key to your Ubuntu One account.
When we configured Core 22, it installed several updates and rebooted before running its initial setup wizard. That done, we could SSH in and have a look. The compressed download is less than 400MB and the running VM had just over 1GB of writable space, mounted at
/writable. You can only install additional software in the form of Snap packages, but it’s simple and you don’t even need root privileges to do it – as an experiment we installed
bashtop in seconds.
Core is designed to be configured automatically via model affirmationsand the new version supports remodeling: Edit an existing template and then push it to client devices. This should allow Core 20 machines to be upgraded on the spot to Core 22, which was not possible with Core 16 or Core 18.
The new version 22 of course has a bunch of new features. There is an optional, beta-test and preemptive kernel for better real-time performance. Validated snapshot sets 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 MicroK8s Distribution of Kubernetes and metal as a service deployment tools, as you would expect. We only took a quick look at it, but the Documentation seems pretty solid too.
Ubuntu Core 22 is available in builds for x86-64 machines, including Intel NUC, and 32-bit and 64-bit Raspberry Pi hardware, including Models 2, 3, 4, 400, Compute Model 4, and Pi Zero 2W ®
Warning: At the time of writing, Ubuntu has not yet updated all of its setup instructions. In many places they still refer to Core 20. You will need to change the version number appropriately. Downloads are hereand as for the QEMU part, change the filename in the command to
Having done that, the installation went fine, but unfortunately we couldn’t connect to it, even from a terminal on the same host machine. We had better luck with VirtualBox: just 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 virtual machine, choose Use an existing hard disk fileand point it to the new
Core only boots using UEFI, so on the Settings | System | Motherboard screen, tick Enable EFI (special operating systems only). Then go down to Settings | Network and change Attached to: to “Bridged Adapter” instead of “NAT”.