Install Ubuntu Desktop on the Intel® Joule

There are two install options for the Intel Joule: Ubuntu Core or Ubuntu Desktop. This page is for Ubuntu Desktop.

Install Ubuntu Desktop

As an alternative to Ubuntu Core, you can install Ubuntu 18.04 LTS, where you can use your favourite development tools to create and run snaps.

Minimum requirements

  • An Ubuntu SSO account with an SSH key
  • An Intel® Joule board with BIOS updated to version #193 (update instructions)
  • 2 USB 2.0 or 3.0 flash drives (2GB minimum)
  • A monitor with an HDMI interface
  • A Mini HDMI to HDMI cable
  • A USB keyboard and a mouse
  • A USB Hub with space for 4 devices
  • An 802.11 a/b/g/n WiFi network with Internet access
  • An Ubuntu 18.04 LTS image
  • An Ubuntu Core image

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 Desktop

    Get the correct Ubuntu Desktop image for your board:

    Download and copy the image on an USB flash drive by following the installation media instructions.

  3. 3 Flash the USB drive with Ubuntu Desktop

    Download and copy the image on an USB flash drive by following the installation media instructions.

  4. 4 Install Ubuntu Desktop

    Booting the board from the USB flash drive will start the Ubuntu installer.

    1. Boot the system from the USB flash drive.
    2. The system will automatically execute the first stage of installation, including eMMC storage partitioning and image installation. After installation is complete, a prompt dialog will be shown and you will need to restart the system.
    3. Boot the system on the eMMC storage and finish the install configuration.
    4. Follow the instructions and enter appropriate options for language, WiFi, location (timezone), and keyboard layout.
    5. Pick a hostname, user account and password.
    6. Wait for the configuration to finish. If you connected to a WiFi network at step 4, it will take several minutes to download and apply additional updates. You can now reboot the system.
    7. Ubuntu is installed. Use your account and password to log in.
  5. 5 Change the default audio output

    In the current release, the analog audio port on mezzanine board is chosen as the default audio output. To use HDMI audio, you need to modify the Joule sound configuration file: /etc/modprobe.d/joule-snd.conf

    Edit configuration

    1. Open an editor to modify the configuration file:

      sudo nano /etc/modprobe.d/joule-snd.conf
    2. To use HDMI audio, uncomment the line #blacklist snd_sock_skl and comment the line softdep snd_hda_intel pre: snd_sock_skl. You can revert these changes if you want to change your sound output back to defaults.
    3. Reboot the system to apply the new setting.

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 board 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.