Install Ubuntu on KVM

Install Ubuntu Core

We will walk you through the steps of installing Ubuntu Core on your Linux desktop in a virtual machine.

Minimum requirements

  • An Ubuntu SSO account with an SSH key
  • A computer running Ubuntu Desktop

Installation instructions

  1. 1 Setup an Ubuntu SSO account

    An Ubuntu SSO account is required to create the first user on an Ubuntu Core installation.

    1. Start by creating an Ubuntu SSO account.
    2. Import an SSH Key into your Ubuntu SSO account. (instructions)
  2. 2 Download Ubuntu Core

  3. 3 Install KVM

    1. Install the qemu-kvm package with the following command:

      sudo apt install qemu-kvm
    2. Then, run the kvm-ok command to check KVM status and your hardware:

    3. The message should say:

      INFO: /dev/kvm exists
      KVM acceleration can be used

      This is the best outcome — it means that Ubuntu Core will run fast on your system, taking advantage of hardware acceleration in your CPU.

  4. 4 Launch KVM

    You can now launch a virtual machine with KVM, using the following command:

    kvm -smp 2 -m 1500 -netdev user,id=mynet0,hostfwd=tcp::8022-:22,hostfwd=tcp::8090-:80 -device virtio-net-pci,netdev=mynet0 -vga qxl -drive file=ubuntu-core-16-amd64.img,format=raw

    Note: this command sets up port redirections:

    • localhost:8022 is redirecting to port 22 of the virtual machine for accessing it through SSH
    • localhost:8090 is redirecting to its port 80

    Note: this command is required for graphics such as mir-kiosk:

    • -vga qxl sets the paravirtual graphics driver qxl

    You should now see a window, with your Ubuntu Core virtual machine booting inside it.

  5. 5 First boot setup

    1. The system will boot then become ready to configure.
    2. The device will display the prompt “Press enter to configure”.
    3. Press enter then select “Start” to begin configuring your network and an administrator account. Follow the instructions on the screen, you will be asked to configure your network and enter your Ubuntu SSO credentials.
    4. At the end of the process, you will see your credentials to access your Ubuntu Core machine:

      This device is registered to <Ubuntu SSO email address>.
      Remote access was enabled via authentication with the SSO user <Ubuntu SSO user name>
      Public SSH keys were added to the device for remote access.
  6. 6 Login

    Once setup is done, you can login with SSH into Ubuntu Core, using the following command:

    ssh -p 8022 <Ubuntu SSO user name>@localhost

    Your user name is your Ubuntu SSO user name, it has been reminded to you at the end of the account configuration step.

First boot tips

  • During setup, console-conf will download the SSH key registered with your Store account and configure it so you can log into the device via ssh <Ubuntu SSO account name>@<device IP address> without a password.
  • There is no default ubuntu user on these images, but you can run sudo passwd <account name> to set a password if you need a local console login.

Install and develop snaps

Your virtual machine is now ready to have snaps installed — get started with the snap command

You can install a classic Ubuntu environment on top of Ubuntu Core to have a fully-fledged development environment and develop snaps on target

Before you start, get your IoT security story straight

A recent Canonical survey of 2,000 consumers suggests that a shockingly high percentage of connected devices may be vulnerable to botnets, hackers and cyber attacks:

  • Only 31% of consumers update the firmware on their connected devices as soon as updates become available.
  • 40% of consumers have never performed firmware updates on their connected devices
  • 40% of consumers believe that performing firmware updates on their connected devices is the responsibility of either software developers or the device manufacturer
  • All information provided will be handled in accordance with the Canonical privacy policy.