We will walk you through the steps of flashing Ubuntu Core on a Compute Module 3. At the end of this process, you will have a board ready for production or testing snaps.
An Ubuntu SSO account is required to create the first user on an Ubuntu Core installation.
- Start by creating an Ubuntu SSO account
- Import an SSH Key into your Ubuntu SSO account on this page. Instructions to generate an SSH Key on your computer can be found here
- A Compute Module 3
- A Compute Module IO board
- Two micro USB to USB cables (one for power, one to setup the CM from the host)
- An HDMI cable and a display
- A USB keyboard
- A USB to RJ45 adaptor or a WiFi dongle
- A USB hub to attach the keyboard and the RJ45 adaptor/WiFi dongle (note that the keyboard and display can be replaced with a serial cable connected directly to pins of the IO board)
- An Ubuntu Core image
In a terminal, download the USBboot tool you will use to setup the board, and install its build dependencies:
git clone --depth=1 https://github.com/raspberrypi/usbboot.git sudo apt install libusb-1.0-0-dev
cdinto the usbboot directory, build with
makeand start the resulting binary as root:
cd usbboot make sudo ./rpiboot
Once started, it will wait for the Compute Module to be attached to the machine.
- Position the Compute Module on the IO board
- Attach the USB hub, RJ45 adaptor, keyboard and monitor (HDMI) to the board
- Ensure the
USB SLAVE BOOT ENABLE) on the IO board is in the
- With the first micro USB to USB cable, plug the host machine into the IO Board USB slave port (
- With the second micro USB to USB cable, power on the IO board.
- The USBboot tool should have recognized the attached Compute Module and mounted the EMMC partition as a new device
- Identify the device by opening the "Disks" application:
- Locate the EMMC partition of the Compute Module in the left pane
- Note down its "Device" address on the right pane.
- If the partition is mounted, unmount it by clicking the square icon below the partition diagram or the eject icon in a file manager
- Download the Ubuntu Core image. When this is done you should have an
ubuntu-core-16-cm3.img.xzfile in your
Flash Ubuntu Core on the EMMC partition with:
xzcat ~/Downloads/<image file .xz> | sudo dd of=<device address> bs=32M; sync
This process will take some time. After completion, you can reboot your Compute Module IO board and follow the first boot process with the display, keyboard and RJ45/WiFI dongle attached to it.
- The system will boot then become ready to configure
- The device will display the prompt “Press enter to configure”
- 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
- 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.
Once setup is done, you can login with SSH into Ubuntu Core, from a machine on the same network, using the following command:
ssh <Ubuntu SSO user name>@<device IP address>
The user name is your Ubuntu SSO user name, it has been reminded to you at the end of the account configuration step.
- During setup,
console-confwill 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
ubuntuuser on these images, but you can run
sudo passwd <account name>to set a password in case you need a local console login.
Your board is ready to have snaps installed — get started with the
You can install a classic Ubuntu environment on top of Ubuntu Core to have a fully-fledged development environment and develop snaps on target ›