Installing Ubuntu Core 20 on a NUC
Ubuntu Core runs on a large range of hardware, and pre-built images are available for amd64 and Raspberry Pi reference platforms.
Installation on a reference platform is easy and a great way to quickly get started with Ubuntu Core, or to explore Ubuntu Core’s features and evaluate its potential.
Below, we cover how to install a reference image of the latest version of Ubuntu Core, UC20, on a small form factor PC Intel NUC, however, these instructions will also work for most generic PC configurations.
At the end of this tutorial, you’ll be able to connect to your PC, install and configure applications, safe in the knowledge that Ubuntu Core will automatically keep your device updated and secure.
- Step 1: Write the image to a USB flash drive
- Step 2: Boot Ubuntu Core for the first time
- Step 3: Configure a network connection
- Step 4: Add Ubuntu SSO details
- Step 5: Connect to the device
Ubuntu Core 20 on other platforms:
Installation is very similar across each supported Ubuntu Core 20 device. See Supported platforms for a list of which images are available for which platforms.
This tutorial is suitable for anyone with an interest in Ubuntu Core - no prior knowledge necessary, but you will need a few things first:
- An Intel NUC or similar PC.
- A secondary macOs, Windows or Linux computer to flash the image.
- 4GB+ USB flash drive (this will be erased, so make sure it’s backed up).
- Connected screen and keyboard for installation.
- An Ubuntu SSO account with associated SSH keys.
Alongside enough storage to hold the Ubuntu Core image, you will need a screen and keyboard connected to the device. These are needed to navigate a few installation prompts, but neither are needed after setup has completed. You may also need to check the BIOS configuration of your device to make sure it can boot from USB devices. If you
An Ubuntu SSO account is also required because it’s used to mediate a connection to your device after installation. It does this with SSH, and that’s why you also need an SSH key associated with your Ubuntu SSO account. For help importing SSH keys to your Ubuntu SSO account, see the Ubuntu community wiki.
After 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 can use Ubuntu on WSL.
Step 1: Write the image to a USB flash drive
First, download the Ubuntu Core image for your device: ubuntu-core-20-amd64.img.xz (368MB)
We’re going to use the Raspberry Pi Foundation’s Raspberry Pi Imager to write the Ubuntu Core image to the USB flash drive. Raspberry Pi Imager will safely install an image to your microSD card.
Download and install Raspberry Pi Imager from one of the following locations:
- Official download page: https://www.raspberrypi.org/software
- Snap package for Linux users: https://snapcraft.io/rpi-imager
After its installed and running, you will see its main window showing buttons for the three step download and write process:
- Select Choose OS and a pop-up list appears. Now select Use custom (at the bottom). In the file requester that appears, select the image you just downloaded. The xz file can be selected without being decompressed first.
- Select Choose Storage and insert your USB flash drive if you haven’t already. Now select the device from the list.
- Finally, select Write. A warning will state that all data on your selected device will be erased, so it’s worth double checking your selection was correct. Select Yes if you’re sure. You may then be asked for your password before the download, write and verification processes begin.
When the process has finished, Raspberry Pi Imager will proclaim “Write Successful” and you can remove the card from the reader. It’s now ready to be inserted into your PC.
Step 2: Boot Ubuntu Core for the first time
You can now insert the USB flash drive into your powered-off PC and power-on the device. Depending on your BIOS settings, and USB boot priority, you may need to press F10 to enter the boot menu and select the USB flash drive manually:
The first boot can take around five minutes for the system to instantiate itself. You will see typical Linux output on the screen, periods where there’s just a flashing cursor, and messages like Installing the system, please wait for a reboot. When this process has finished, you will see the following:
Press enter to configure.
Press Enter and you will see a small menu with a single item:
Configure the network and setup an administrator account on this all-snap Ubuntu Core system.
Press Enter again and you will be taken to the network setup page:
Step 3: Configure a network connection
Network access is a requirement for Ubuntu Core, at least initially, and you have a choice about whether to use a wired connection (Ethernet) or if you have a compatible device connected, Wi-Fi.
If an Ethernet cable is connected to your device, a network connection will attempt to be automatically negotiated and, if this is successful, you will see an IP address for the device after the DHCPv4 entry in the Network connections page. In this case, you don’t need to do anything further:
To configure an Ethernet connection manually, select the eth0 device and select Edit IPv4 from the small menu that appears. By default, the network device will be configured to use Automatic (DHCP), which is why the connection attempts to automatically configure itself. Press Enter to reveal two further options, Manual and Disabled:
Selecting Manual will allow you to configure your Ethernet connection manually by entering values for your subnet mask value (using CIDR
xx.xx.xx.xx/yy notation), the static IP address of your device, the network gateway, and the name servers you wish to use:
If you have a device with Wi-Fi capabilities, WiFi will appear as a separate network device beneath any Ethernet devices.
To configure Wi-Fi, press the cursor up key until the wireless device is selected and press Enter. You will see a small menu and you need to select Edit Wifi.
After selecting Edit Wifi, you will see the network interface configuration panel for Wi-Fi. If you know the name of the Wi-Fi network you wish to connect to, it can be entered directly, or cursor down to Choose a visible network and select a network from a list of those that have been detected.
Finally, enter the Wi-Fi password and select Save to complete the configuration. You will be returned to the previous menu and your device will attempt to connect to the network. If successful, you will see its IP address to the right of DHCPv4.
For advanced network configuration, such as setting a static IP address, select the wireless device again, and choose edit IPv4 from the menu.
When you’ve finished configuring your network settings, select Done and press enter on the Network connections page to move on to the final step.
Select Save to apply those changes and for the connection to be attempted. You can now proceed to the next step by pressing Done.
Step 4: Add Ubuntu SSO details
This is the final step before completing the Ubuntu Core setup and you simply need to enter the email address linked to your Ubuntu SSH account.
As mentioned earlier, your account is used to link its registered SSH keys to the new device deployment and allow you to connect without any further device configuration.
With your username registered across the network, you will see a message similar to the following:
This device is registered to <ubuntu-sso-email-address> Remote access was authenticated with SSO user <username>. Public SSH keys were added to the device for remote access. <ubuntu-sso-email-address> can connect remotely to this device via SSH: ssh <username>@<ip-address>
Everything is now configured and you’re ready to connect to the device.
Step 5: Connect to the device
Each time the device starts up, if a display connected it will show its various addresses and the account linked to the device:
You can now connect to your Ubuntu Core machine with the ssh command and your username followed by the IP address of your device:
$ ssh firstname.lastname@example.org The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established. ECDSA key fingerprint is SHA256:EiZUZG50l1Dvr1/aR940EX/lKW4qLfkRiMaMFwuzuf8 Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts. Welcome to Ubuntu 20.04.2 LTS [...]
As shown above, the first time you connect to a new device you will be asked to accept its authenticity. You can check the ECDSA key fingerprint against the finger print shown on the screen after a first reboot. ECDSA is the second one listed.
Congratulations! You have successfully downloaded, installed, and connected to Ubuntu Core 20 on your PC. See First steps with Ubuntu Core for an introduction to using your new Ubuntu Core installation.