Installing Ubuntu Core

Ubuntu Core runs on a variety of hardware, and pre-built images are available for amd64 and Raspberry Pi reference platforms (among others).

Installation on a reference platform is easy and a great way to get started with Ubuntu Core, and to explore Ubuntu Core’s features and evaluate its potential.

Download Ubuntu Core

The latest images for each supported Ubuntu Core release are always available from the following locations:

Ubuntu Core 22 (UC22)
https://cdimage.ubuntu.com/ubuntu-core/22/stable/current/

Ubuntu Core 20 (UC20)
https://cdimage.ubuntu.com/ubuntu-core/20/stable/current/

Installation guides

See Testing Ubuntu Core with QEMU for details on how to try Ubuntu Core locally without installing it to a separate device.

Ubuntu Core 22

Ubuntu Core 20

Ubuntu Core on other platforms:

The installation process is similar across supported Ubuntu Core devices. See Supported platforms for a list of which images are available for which platforms.

General requirements

Alongside enough storage to hold the Ubuntu Core image, installation on a Raspberry Pi also requires a screen and keyboard to navigate a few installation prompts. These aren’t needed post-installation.

Additionally, you will need an Ubuntu SSO account, with associated SSH keys. This setup is required because, after Ubuntu Core has been installed, Ubuntu SSO is used to login to your device. For help importing SSH keys, see the Ubuntu community wiki.

When Ubuntu Core is up and running, if you want to access your device remotely, you’ll need an SSH client for your operating system. Linux and macOS both have clients built-in, whereas Windows users could use Ubuntu on WSL.

General installation steps

The typical installation procedure is as follows:

  1. Download the preferred Ubuntu Core image for your device
    See Supported platforms for links to device support and images.
    By default, images are compressed with xz and can be expanded with:
    xz -d <image-name>.img.xz.
  2. Write the image to your device’s storage medium (eg. SD card for Raspberry Pi)
    We recommend using Raspberry Pi imager for Windows, macOS and Linux, although long-time embedded developers are probably familiar with using Linux’s dd command for this.
  3. Boot the device from the flashed storage and follow the on-screen prompts
    This step is version-specific, but the installation typically asks only two questions.

After installation, see Using Ubuntu Core for a quick overview of how to work within the Ubuntu Core environment.

1 Like

Thank you for this post. I did notice a few problems with the instructions. The qemu command is provided, but there appears to be a duplicate line with part of the word “user” missing on line 2. Also the ubuntu core image is said to be named uc.img, but the command attempts to use an image of pc.img.

Also the text below the SSH command is copied form the previous instruction and does not make much sense.

Some of the corrections may help others in the future.

Hello - thanks so much for taking the trouble to let us know about those errors. I’ve fixed them, and sorry they made their way into the tutorial unchecked. They looked like the pasted detritus from a broken editing session.

Most of this is already covered in the earlier Quick Start page.

Yes, this is true. We’re in the process of moving these docs to use the Diátaxis framework (https://diataxis.fr/) and these tutorials need to be updated and expanded. It won’t remove the duplication, but will make each rigorously conceived, implemented and tested, targetting specific platforms.

This is high on the priority list. There’s more on our tutorial strategy on the Ubuntu blog: https://ubuntu.com/blog/the-idea-of-a-tutorial

I installed core 22 on a RPi. I yes to the fingerprint and then it asks for a password. Does not accept my ONE password. same if I reboot the system an]d ssh in again, this time direct, still asks for a password. Is there a default?

Hello!

To connect to your Pi, you will need to make sure 1) you have a public SSH key registered with your Ubuntu One account, and 2) the local ssh command uses the associated private key (a password isn’t used as the connection is authenticated through this key pair).

There’s a little more information on how to connect here:

The complete process, including key generation is under the “Generating an SSH key pair” heading in this tutorial:

Thanks for bringing this up. I think we should have done a better job making this clearer. I’ll update the docs to make it more explicit.

We’ve now created a how-to on using SSH keys to access an Ubuntu Core device: Connect to Ubuntu Core with SSH

1 Like

Is there a reason this doesn’t this point to http://cdimage.ubuntu.com/ubuntu-core/22/stable/current/ ? FWIW, neither of these UC22 install targets (ubuntu-core-22-amd64.img.xz) works for me if I target a laptop (UC20 seems to at least boot)

I was just about to leave the same comment – why UC22 links to “pending” directory.

(and @sergiusens) Thanks for flagging this. There’s no current reason why this was pending. It was copied from Support platforms which also had the same link, and I think at one time only Pending images were working. I’ve updated both now. I’ll also test the new images - although I did test x86_64 UC22 images with KVM last week.

Edit: Also edited to be HTTPS.

2 Likes

UC18 is already technically EOL.

Again, references to “Intel NUC” should be updated. And do we even want to keep documenting anything related to UC18 at this point?

You’re right. I’ve cut the reference to 18 and removed the Intel from NUC.