Posted on Leave a comment

How to Install Ubuntu Arm Server on the Raspberry Pi Compute Module 3

A few weeks ago, the Ubuntu team released a pre-built 64-bit Ubuntu Arm Server Raspberry Pi image that can be downloaded and flashed to an SD Card, that is compatible with both the Raspberry Pi 3B and Raspberry Pi 3B+ single board computers. As we documented in our original article detailing the new Ubuntu build, in the past you needed to build a kernel, create a root filesystem, and then install the necessary firmware and drivers. But now with this new ready-made image, there is no longer a need for any of those difficult and time consuming tasks. While the image was intended to be run on standard Raspberry Pi 3B and 3B+ hardware, with some small modifications it can be installed and run on the Raspberry Pi Compute Module 3 as well.

First and foremost, you will need to start with the new 64-bit Raspberry Pi 3 Ubuntu Arm Server image, which can be downloaded here: http://cdimage.ubuntu.com/releases/18.04/

Once downloaded, you will need to unzip / extract the image file from the compressed archive file.

Next, using a Raspberry Pi Compute Module IO Board or Waveshare Compute Module IO Board Plus, you will need to flash the image file to the Compute Module 3’s onboard eMMC. Instructions for that process can be found here: https://www.raspberrypi.org/documentation/hardware/computemodule/cm-emmc-flashing.md

After the flash process is complete, there should be 2 partitions on the eMMC, ‘boot’ and ‘system’. Mount the ‘boot’ partition of the eMMC so that you can view and edit the files on it.

The first change to be made is to the ‘config.txt’ file. Open it up and change the kernel line, add an initramfs, add an arm_control line, and comment out the device tree address as such:

kernel=vmlinuz
initramfs initrd.img followkernel
arm_control=0x200
#device_tree_address=0x02000000

Save and exit.

While the partition is still mounted, you need to add an additional file to the top level directory of the partition as well. In this ‘boot’ partition, you will notice there are .dtb files for the Raspberry Pi 3B. But since we are adapting this Ubuntu image for the Compute Module 3, we need to add the CM3’s .dtb file here as well. A copy of the Compute Module 3’s .dtb can be extracted from a stock Raspbian image, but for convenience a copy can be downloaded from the Raspberry Pi GitHub here: https://github.com/raspberrypi/firmware/blob/master/boot/bcm2710-rpi-cm3.dtb

Simply download it, then copy it to the mounted ‘boot’ partition.

At this point, all necessary changes are complete, and it’s time to boot up and check our work! Unmount the ‘boot’ partition, power down the Compute Module, and then change the IO Board to standard boot mode via it’s jumper setting. Reapply power, and the boot process should begin! The first boot takes a few minutes, as cloud-init runs a series of one-time setup processes to resize the rootFS, setup networking, generate SSH keys, create a container environment, and other tasks. But, after a few minutes you should be able to login to your new 64-bit Ubuntu Arm Server for Raspberry Pi Compute Module with a default username and password of ‘ubuntu’ via SSH or a console!

Posted on 4 Comments

64-bit Ubuntu Raspberry Pi 3 Arm Server Image Now Available

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/release/

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!
Posted on Leave a comment

How to Install Ubuntu on an Arm Server

As a follow up to our previous blog post offering advice and options for purchasing an Arm Server, the second most frequent question we receive is regarding how to install Ubuntu on an Arm Server. This of course varies depending on the hardware you have chosen, but typically follows one of two options (with some customization likely to be necessary for Option 2).

The easiest method for installing Ubuntu on Arm is to acquire SBSA compatible hardware. This is typically a more expensive option, but because of a standard UEFI boot processes and hardware description, direct downloads of Debian Aarch64, Fedora Arm, CentOS Aarch64, and Ubuntu Arm Server install in a normal manner. Simply write the downloaded Ubuntu Arm Server image to a USB drive, insert it into the Arm Server, and then boot from that device to start the process. The installation process will then install the operating system to a local hard drive, setup the Grub bootloader, and configure the OS for boot. Typical units in this scenario are Cavium ThunderX or ThunderX2 servers, Qualcomm Centriq 2400 servers, or Softiron Overdrive 1000 or 3000 AMD Opteron A1100 servers. These machines simply install and boot operating systems in a “normal” fashion, similar to x86 counterparts.

A second, cheaper option, is to use a single board computer such as a Raspberry Pi, an Odroid, a NanoPi, a Pine64, or others. In this scenario, the board vendor is usually the one to develop and release the Ubuntu Arm image, though sometimes the Armbian team also provides an image that can be written directly to an SD Card and booted. For example, the Pine64 and many Odroid, FriendlyArm, OrangePi, and BananaPi models have pre-configured 32-bit and 64-bit Ubuntu Arm images available for installation (depending on the exact model). They typically contain a SoC-specific kernel, paired with an Ubuntu Arm rootfs, and need to written to an SD Card and then inserted into the board. Sometimes these boards also contain permanent storage such as eMMC, and the OS can be then be transferred from the SD Card to teh eMMC, depending on the model.

As always, if you have any feedback, let us know in the comments!

Posted on Leave a comment

ARM Server Update, Summer 2018

Continuing our quarterly ARM Server update series, it is now Summer 2018 so it is time to review the ARM Server news and ecosystem updates from the past few months!  This blog series only covers the ARM Server highlights, but for more in-depth ARM Server news be sure to check out the Works on Arm Newsletter, delivered every Friday by Ed Vielmetti!

Looking at our recent blog posts, the most important headline seems to be the rumored exit from the business by Qualcomm.  Although, at the moment, this has not been confirmed, if true it would be a major setback for ARM Servers in the datacenter.  The Qualcomm Centriq had been shown to be very effective by CloudFlare for their distributed caching workload, and had been shown by Microsoft to be running a portion of the Azure workload as well.

However, just as Qualcomm is rumored to be exiting, Cavium has released the new ThunderX2 to general availability, and several new designs have now been shown and are listed for sale.  The ThunderX2 processor is a 32-core design that can directly compete with Xeons, and provides all of the platform features that a hyperscaler would expect.

Finally, in software news, Ubuntu has released it’s latest 18.04 Bionic Beaver release, which is an LTS version, thus offering 5 years of support.  As in the past, there is an ARM64 version of Ubuntu, which should technically work on any UEFI standard ARM Server.  Examples include Ampere X-Gene servers, Cavium ThunderX servers, Qualcomm, Huawei, HP Moonshot, and AMD Seattle servers.

As always, make sure to check back for more ARM Server and Datacenter industry news, or follow us on Twitter for daily updates on all things ARM, IoT, single board computers, edge computing, and more!

 

Posted on 1 Comment

Prototype Raspberry Pi Cluster Board

The first samples of the miniNodes Raspberry Pi Cluster Board have arrived, and testing can now begin!

Thanks to the very gracious Arm Innovator Program, miniNodes was able to design and build this board with the help of Gumstix!  The design includes 5 Raspberry Pi Compute Module slots, an integrated Ethernet Switch, and power delivered to each node via the PCB.  All that is required are the Raspberry Pi 3 CoM’s, and a single power supply to run the whole cluster.

The second revision of the board is now complete (added a power LED, Serial Port header, and individual on/off switches), and pre-orders are underway here:  https://www.mininodes.com/product/5-node-raspberry-pi-3-com-carrier-board/

mininodes-raspberry-pi-cluster-board

Posted on Leave a comment

miniNodes Selected to Arm Innovators Program

The title says it all!  miniNodes is proud to announce that we have been selected to participate in the ARM Innovators Program, and will soon be designing and testing an ARM Server thesis project in conjunction with Arm!

As more information becomes available, we will be sure to share!  In the meantime, the full text of the announcement is located here:  https://community.arm.com/company/b/blog/posts/welcoming-new-arm-innovators-featuring-experts-in-drones-cameras-voice-and-cellular

 

arm-innovators-program-image

 

Posted on Leave a comment

ARM Server Update, Spring 2018

Continuing on with our quarterly updates to the ARM Server ecosystem, as usual there is quite a bit of news to report on!  Let’s dive right in to the analysis!

The Qualcomm Centriq continues to make headlines, with the first design win recently announced.  Hatch, a cloud gaming company, has chosen the Centriq 2400 to power it’s cloud gaming platform.  More information is available here:  https://www.forbes.com/sites/tiriasresearch/2018/02/20/hatch-qdt-cloud-gaming/

Qualcomm is also in the news for another reason as well.  Broadcom, another chip maker, has launched a hostile bid to takeover Qualcomm, although Qualcomm has thus far held off their unwanted pursuit, and is attempting to remain independent.  Consolidation in the chip maker space has been picking up in recent years, with the NXP purchase of Freescale, Intel buying Altera, Macom purchasing Applied Micro, and many more.

Which leads to the next news in the industry:  Macom had recently quietly sold off the Applied Micro assets to a secretively named buyer, known only as Project Denver Holdings.  However, they have now formed a new organization, called Ampere, who will continue on with the development and marketing of the X-Gene line of ARM Server processors.  More info on Ampere can be found here:  https://amperecomputing.com/

Finally, Linaro’s 96Boards team has brought to market a development workstation conforming to their Enterprise Edition standards.  The newly launched workstation features a 24-core Socionext Synquacer SoC, plus a hard drive, memory, and video card to round out the system.  It is currently listed for sale at $1,250, so it is not cheap, but it does fulfill a niched that has been underserved in the market.  It can be purchased here:  http://www.chip1stop.com/web/USA/en/search.do?dispPartIds=SOCI-0000001

 

Posted on Leave a comment

ARM Server Update, Fall/Winter 2017

It has been far too long since our last blog post, and there have been many changes in the ARM Server ecosystem (as usual!) since our last update. Here we will recap some of the major highlights and product announcements of the past several months in 2017.

First and foremost, ARM Servers are gaining traction with 2 major product releases:

Next, there has been major Operating System news as well, with Red Hat formally releasing Red Hat Enterprise Linux (RHEL) 7.4 for ARM. This allows customers of Red Hat to have a fully supported OS like they are already accustomed to with their x86 offering.

In the SBC world, Fedora 27 was recently released with additional and expanded support for ARM-powered boards. The Dragonboard 410c and HiKey from 96Boards are two popular boards now officially supported, along with the RaspberryPi 3.

And finally, ARM Servers have been gaining quite a bit of media attention due to industry mergers and acquisitions (well, proposals). Marvell has made a bid to acquire Cavium, and Broadcom has pursued Qualcomm, although that deal appears to be opposed by Qualcomm at the moment.

As always, we will continue to watch the industry closely, so check back for updates, hopefully in a more timely fashion next time. 🙂

Posted on Leave a comment

ARM Server Update, Spring 2017

As always, much has changed in the ARM Server world since our last post!  Here are the highlights of what’s going on in the Linux on ARM Server community:

First and foremost, a huge announcement from Microsoft came at the 2017 Open Compute Project (OCP) U.S. Summit last month.  Microsoft stated they can utilize ARM Servers to power over 50% of their Cloud Workload, and demonstrated two designs, one based on the Cavium ThunderX2, and one based on the Qualcomm Centriq 2400.  They even showed an internal build of Windows Server running on the Qualcomm.

Next, 96Boards showed off all the latest projects and boards they have been working on at Linaro Connect, from IoT to the powerful Qualcomm Snapdragon 820 SBC.

Finally, on the Raspberry Pi front, a new Raspberry Pi Zero was released with WiFi built-in.  This will allow the Raspberry Pi Zero to be more easily adapted to IoT applications, without the need for a USB Wi-Fi adapter or USB ethernet adapter that was previously required.  This simpler solution addresses one of the biggest complaints about the Pi Zero.

 

 

Posted on Leave a comment

Qualcomm Centriq 2400 ARM Server Processor

Qualcomm has announced their new ARM Server processor, called the Centriq 2400, which is designed for high efficiency processing and is capable of handling datacenter workloads.  While Cavium, AMD, and Applied Micro all have ARM Server processors, Qualcomm’s new processor is the first to be built on a 10-nanometer manufacturing process.  It will be able to handle cloud software stacks now that the software ecosystem has matured, and should be able to compete with Xeon offerings as the hyperscalers like Microsoft, Facebook, Google, Amazon, Tencent, Baidu, Alibaba, and China Mobile build out next generation datacenters.

Qualcomm has lots of experience of course developing, manufacturing, and selling ARM processors via their Snapdragon line of cell phone chips, so they do have an edge on the competition as vendors like Cavium and Applied Micro don’t have the same experience and relationships already built.  Additionally, Qualcomm can leverage some synergies with the Snapdragon 820 and 835, albeit they definitely have their differences.

With another vendor now entering the ARM Server marketplace (and a major one at that), the future is looking bright for ARM gaining more traction and making inroads in the datacenter.