This morning there is some great news for fans of the popular Raspberry Pi 3 single board computer, looking to run 64-bit Ubuntu Arm Server on their board!
The Ubuntu team, with support from Arm, has released a ready-made image that can be written to an SD Card and directly booted on a Raspberry Pi 3B or 3B+, with no configuration necessary. We were able to give this image a test, and although it is technically considered a beta, it seems most everything is working and all of the standard functionality one would expect from Ubuntu Server intact!
You can download the image here: http://cdimage.ubuntu.com/releases/18.04/beta/
How to Install Ubuntu on the Raspberry Pi 3
Once the image is downloaded, it needs to be extracted, and can then be written to an SD Card. Of course, the higher the read and write speed of the SD Card, the better overall system performance will be.
After getting the image written and inserted in to the Pi, take note that the first boot may take a few minutes while the OS goes through a few setup routines.
A quick run through the system showed the basic console hardware requirements of HDMI, USB, and Ethernet all worked out of the box, as well as WiFi. SSH is enabled and working, and normal software installation and updating via ‘apt’ package management is working great. As an added bonus, the image comes with ‘cloud-init’ setup to automatically expand the partition on the SD Card to the maximum capacity of the card, generate SSH keys, configure networking for the LXD container runtime (which is also preinstalled), and finally force a password change upon first login to the system.
All said, this means the Ubuntu Arm Server image is ready to use immediately upon writing the SD Card and booting the Pi!
In the past, it was technically possible to bootstrap a system using a custom built kernel and an Ubuntu rootfs, then add Pi-specific firmware and drivers. After that you had to add users, manually install networking, and add even basic system utilities. That process required in-depth knowledge of system installation and configuration, and was not something most users could tackle on their own. However, thanks to the efforts of the Ubuntu Arm team in creating this new ready-made image, no advanced knowledge of the Linux build process is required, and even casual Raspberry Pi users can be up and running easily!
One final thing to keep in mind, is that this image is fully intended to be a 64-bit Ubuntu Arm Server platform! Use cases such as File or Print servers, DNS, MySQL or other database servers, web front-end caching, or other lightweight services all make sense for this platform. It can also be used for installation and testing of Aarch64 software, developing and compiling Arm64 applications, exploring containers, or even production workloads where possible! Small, distributed compute workloads, IoT services, Industrial Internet of Things, environmental monitoring, remote compute capacity in non-traditional settings, or many other uses cases are all possible. While a desktop *can* be installed, due to the limited memory on the Raspberry Pi, only a lightweight desktop like LXDE or XFCE will truly work, with both Mate and Gnome quickly running out of memory, moving to Swap, and then slowing the system to a crawl. Even so, desktop performance in this image is not optimized, so sticking with the intended use of this image as a Server OS makes the most sense.
In summary, thanks to a collaborative effort from Arm and the Ubuntu teams, the community now has a ready-made Raspberry Pi 3B(+) 64-bit Ubuntu Arm Server image!