Install the LXD Ubuntu Appliance for Raspberry Pi

Download the LXD image


Installation instructions

What you'll need

  • A microSD card (4GB minimum, 8GB recommended)
  • A Raspberry Pi 4
  • A computer with a microSD card drive
  • A USB-C cable for the Pi 4
  • A monitor with an HDMI interface
  • A MicroHDMI cable for the Pi 4
  • A USB keyboard
  • We recommend using a Pi 4 with 4GB of RAM or more

These steps will flash your LXD Ubuntu Appliance to your Raspberry Pi with a Ubuntu machine, and get you logged in.

  1. Install the Raspberry Pi Imaging Tool

    Download the Imaging Tool for Ubuntu

  2. Prepare the microSD card

    Warning

    This will completely erase the microSD card.

    • Insert the microSD card into your computer
    • Run the imager and click CHOOSE OS
    • Next, choose Use Custom. Select the image you downloaded.
    • Select your microSD card and click WRITE.

    While it is preparing the disk you can go on to the next step and create your SSH keys for secure access to the appliance.

  3. Generate Secure Shell (SSH) keys

    The 'Secure Shell' protocol provides access to your Ubuntu Appliance and uses cryptographic keys to authenticate you to the device. You need SSH software and keys.

    Run the following command:

    ssh-keygen -t rsa
    1. This starts the key generation process. When you execute this command, the ssh-keygen utility prompts you to indicate where to store the key
    2. Press the ENTER key to accept the default location. The ssh-keygen utility prompts you for a passphrase
    3. Type in a passphrase

    You now have a public and private key that you can use to authenticate.

  4. Create an Ubuntu SSO account

    Your Ubuntu Appliance will be added to your Ubuntu cloud account and use your SSH keys to identify you. Add your keys to your account at https://login.ubuntu.com/ssh-keys.

    To do so, run the following command in your terminal.

    cat ~/.ssh/id_rsa.pub

    Copy the result into the text field on the website. Click import and will have the key set up.

  5. Boot your Raspberry Pi from the microSD card

    Wait for the Raspberry Pi images to complete. Remove the microSD card from your computer and insert it into the Raspberry Pi. Attach your monitor and keyboard to the Pi, you will use them for the initial device configuration.

    If you want to use a wired network, connect your ethernet cable to the Pi before booting.

    Power up the Pi by connecting it to your USB power supply.

    Your Pi will boot, and present you with a series of configuration choices. You need to ensure that the Pi has internet access so that it can get updates and verify your SSH keys. If you need more help there is a tutorial that goes through these steps in more detail.

    Next, you will need to enter your Ubuntu cloud account email address. Your Pi will connect to your cloud account and retrieve your SSH keys.

  6. SSH in

    Your Pi will show an ssh command like:

    ssh <Ubuntu SSO user name>@<device IP address>

    Your user name is your Ubuntu SSO user name.

    Your terminal will welcome you to Ubuntu Core.

  7. That's it

    Now that you're in your Pi you will be able to use your LXD Ubuntu Appliance image.

What you'll need

  • A microSD card (4GB minimum, 8GB recommended)
  • A Raspberry Pi 4
  • A computer with a microSD card drive
  • A USB-C cable for the Pi 4
  • A monitor with an HDMI interface
  • A MicroHDMI cable for the Pi 4
  • A USB keyboard
  • We recommend using a Pi 4 with 4GB of RAM or more

These steps will flash your LXD Ubuntu Appliance to your Raspberry Pi with a Windows machine, and get you logged in.

  1. Install the Raspberry Pi Imaging Tool

    Download the Imaging Tool for Windows

  2. Prepare the microSD card

    Warning

    This will completely erase the microSD card.

    • Insert the microSD card into your computer
    • Run the imager and click CHOOSE OS
    • Next, choose Use Custom. Select the image you downloaded.
    • Select your microSD card and click WRITE.

    While it is preparing the disk you can go on to the next step and create your SSH keys for secure access to the appliance.

  3. Install OpenSSH

    The 'Secure Shell' protocol provides access to your Ubuntu Appliance and uses cryptographic keys to authenticate you to the device. You will need SSH software and keys.

    Some versions of Windows 10 include an SSH client already, but if yours does not or you're unsure, follow these steps to install one.

    1. OpenSSH client is an installable feature of Windows 10.

      To install OpenSSH, start Settings then go to Apps > Apps and Features > Manage Optional Features.

    2. Scan this list to see if OpenSSH client is already installed. If not, at the top of the page select Add a feature, then, to install the OpenSSH client, locate OpenSSH Client and click Install

      Once the installation completes, return to Apps > Apps and Features > Manage Optional Features and you should see the OpenSSH component(s) listed.

    To install OpenSSH using PowerShell, first launch PowerShell as an Administrator. To make sure that the OpenSSH features are available for install type the command:

    Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

    This should return:

    Name  : OpenSSH.Client~~~~0.0.1.0
    State : NotPresent

    Then, install the client features:

    Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

    Both commands should return:

    Path          :
    Online        : True
    RestartNeeded : False
    
  4. Generate Secure Shell (SSH) keys

    After you have installed OpenSSH client you will need to generate user SSH keys to secure the connection to your Raspberry Pi.

    Launch 'Windows PowerShell' as an Administrator, and type:

    ssh-keygen

  5. Create an Ubuntu SSO account

    Your Ubuntu Appliance will be added to your Ubuntu cloud account and use your SSH keys to identify you. Add your keys to your account at https://login.ubuntu.com/ssh-keys.

    To do so, run the following command in your terminal, which will copy your public key to your keyboard.

    type ~\.ssh\id_rsa.pub | clip.exe

    You can then paste your key result into the text field on your Ubuntu One account. Click import and will have the key set up.

  6. Boot your Raspberry Pi from the microSD card

    Wait for the Raspberry Pi images to complete. Remove the microSD card from your computer and insert it into the Raspberry Pi. Attach your monitor and keyboard to the Pi, you will use them for the initial device configuration.

    If you want to use a wired network, connect your ethernet cable to the Pi before booting.

    Power up the Pi by connecting it to your USB power supply.

    Your Pi will boot, and present you with a series of configuration choices. You need to ensure that the Pi has internet access so that it can get updates and verify your SSH keys. If you need more help there is a tutorial that goes through these steps in more detail.

    Next, you will need to enter your Ubuntu cloud account email address. Your Pi will connect to your cloud account and retrieve your SSH keys.

  7. SSH in

    Your Pi will show an ssh command like:

    ssh <Ubuntu SSO user name>@<device IP address>

    Your user name is your Ubuntu SSO user name.

    Your terminal will welcome you to Ubuntu Core.

  8. That's it

    Now that you're in your Pi you will be able to use your LXD Ubuntu Appliance image.

What you'll need

  • A microSD card (4GB minimum, 8GB recommended)
  • A Raspberry Pi 4
  • A computer with a microSD card drive
  • A USB-C cable for the Pi 4
  • A monitor with an HDMI interface
  • A MicroHDMI cable for the Pi 4
  • A USB keyboard
  • We recommend using a Pi 4 with 4GB of RAM or more

These steps will flash your LXD Ubuntu Appliance to your Raspberry Pi with a macOS machine, and get you logged in.

  1. Install the Raspberry Pi Imaging Tool

    Download the Imaging Tool for macOS

  2. Prepare the microSD card

    Warning

    This will completely erase the microSD card.

    • Insert the microSD card into your computer
    • Run the imager and click CHOOSE OS
    • Next, choose Use Custom. Select the image you downloaded.
    • Select your microSD card and click WRITE.

    While it is preparing the disk you can go on to the next step and create your SSH keys for secure access to the appliance.

  3. Generate Secure Shell (SSH) keys

    The 'Secure Shell' protocol provides access to your Ubuntu Appliance and uses cryptographic keys to authenticate you to the device. You will need SSH software and keys.

    Terminal is the terminal emulator which provides a text-based command-line interface (CLI) to the Unix shell of macOS.

    To open the macOS Terminal:

    1. In Finder, select Utilities from the Applications folder.
    2. Find Terminal in the utilities list.
    3. Enter the following command:

      ssh-keygen -t rsa

      This starts the key generation process. When you execute this command, the ssh-keygen utility prompts you to indicate where to store the key

    4. Press the ENTER key to accept the default location. The ssh-keygen utility prompts you for a passphrase
    5. Type in a passphrase

    You now have a public and private key that you can use to authenticate.

    Your private key is saved to the id_rsa file in the .ssh directory and is used to verify the public key you use belongs to the same account.

  4. Create an Ubuntu SSO account

    Your Ubuntu Appliance will be added to your Ubuntu cloud account and use your SSH keys to identify you. Add your keys to your account at https://login.ubuntu.com/ssh-keys.

    To do so, run the following command in your terminal.

    cat ~/.ssh/id_rsa.pub

    Copy the result into the text field on the website. Click import and will have the key set up.

  5. Boot your Raspberry Pi from the microSD card

    Wait for the Raspberry Pi images to complete. Remove the microSD card from your computer and insert it into the Raspberry Pi. Attach your monitor and keyboard to the Pi, you will use them for the initial device configuration.

    If you want to use a wired network, connect your ethernet cable to the Pi before booting.

    Power up the Pi by connecting it to your USB power supply.

    Your Pi will boot, and present you with a series of configuration choices. You need to ensure that the Pi has internet access so that it can get updates and verify your SSH keys. If you need more help there is a tutorial that goes through these steps in more detail.

    Next, you will need to enter your Ubuntu cloud account email address. Your Pi will connect to your cloud account and retrieve your SSH keys.

  6. SSH in

    Your Pi will show an ssh command like:

    ssh <Ubuntu SSO user name>@<device IP address>

    Your user name is your Ubuntu SSO user name.

    Your terminal will welcome you to Ubuntu Core.

  7. That's it

    Now that you're in your Pi you will be able to use your LXD Ubuntu Appliance image.

Start using your LXD Ubuntu Appliance

Now you can go ahead and set everything up. It's usually best to wait 5-10 minutes here. Some snaps will need to refresh themselves and the appliance may need to automatically reboot.

When you're ready ssh into your appliance as described in step 6 and run:

sudo lxc config set core.trust_password <SOME PASSWORD>

Then, on your main system (not the appliance) install the LXD client:

  • snap install lxd on Linux
  • brew install lxc on macOS
  • choco install lxc on Windows

And connect to the appliance with:

lxc remote add appliance IP-ADDRESS
lxc list appliance:

And you're away. For more information check out the LXD website or read our tutorial on turning the LXD Ubuntu Appliance into your own homelab.

Note:

If there is a core update, the appliance will automatically update, then reboot. Typically this isn't an issue but some use cases should take note.