First 64-Bit and Enterprise OS Comes to Raspberry Pi 3
SUSE supports a lot of architectures and runs on everything from IBM mainframe to x86 machines, and more. With ARM’s push in the data center, it made even more sense for SUSE to work closely with ARM to support yet another platform.
When the Raspberry Pi 3 Model B was announced, SUSE engineers found that it runs on the Broadcom BCM2837 64-bit A53 ARM processor. A lot of work has already been completed on this processor for SUSE Linux Enterprise Server, so getting SLES or openSUSE to run on Raspberry Pi 3 Model B was only a matter of time.
During SUSECon 2016, SUSE announced SLES support for Raspberry Pi 3 Model B. Due to a close and somewhat complicated relationship (openSUSE is based on source code of SLES, whereas openSUSE is touted as the upstream of SLES) between SLES and openSUSE, the announcement also means that openSUSE will also be able to run on the same device.
I have installed and used all three distributions (SLES, openSUSE Leap, and openSUSE Tumbleweed) on Raspberry Pi, and I am pretty impressed with their performance. They all run flawlessly.
You can download openSUSE Leap, openSUSE Tumbleweed, and SLES from the following links. The good news is that SUSE is also offering a self-service subscription for SLES for a year.
Why care about ARM?
We all know that ARM is a powerhouse in the mobile and embedded space. Everything from Nexus XL to Apple Watch to iPad Pro run on ARM processors. What many of us don’t know is that ARM is moving into datacenters and the enterprise world with full force.
There is a lot of potential for ARM in enterprise, said Andrew Wafaa, an ARM engineer who mainly works on supporting SUSE on ARM in an interview. “If some people need a dense compute infrastructure, they don't have much space within the data center. Traditionally, the biggest constraint within the data center is not floor space or rack space. It's power and cooling. ARM moving from the mobile space into the enterprise space has a long history, a lot of experience, a lot of knowledge in the power envelope. We're bringing a lot of that across to the enterprise space,” he said.
PayPal has deployed ARM 64 datacenter; OVH is running ARM-powered data centers; Google is considering ARM and so is Facebook.
Wafaa said that there's a huge interest from the China region in ARM. High-performance computing is also a greenfield for ARM. One of the greatest advantages of ARM over traditional players is vendor lock-in. Any silicon vendor can license and create their own chips. And vendor lock-in, white boxes are a sensitive topic in the enterprise space as we move towards cloud. This essentially means there is going to be a huge demand for tech talent with experience in ARM.
But the Raspberry Pi is a DIY device
Raspberry Pis are not just for DIY anymore. These days companies like NEC are using Raspberry Pis in their huge displays for corporate customers. There are many web hosting providers that offer Raspberry Pi servers. There are many more such cases, but even if we don’t consider direct usage of Raspberry Pi in data centers, they are extremely valuable for sysadmins, DevOps, and developers. It can be expensive to get access to ARM-based servers and data centers (not Raspberry Pi ones), to test and develop applications.
“The Raspberry Pi is an exceptionally cheap platform for people to obtain,” said Wafaa. “It's very easy to get hold of. In addition, there's a large ecosystem around Raspberry Pi already. The fact that it's low cost, it's easy for people to obtain, they can run the same software platform that they have in their data center. They can check to see whether their software workload will run.”
Why SLES matters
SLES (and openSUSE) are the only 64-bit operating systems for Raspberry Pi. While there is no clear advantage in terms of memory limit, as Pi only comes with 1GB of RAM, the real benefit comes in terms of 64-bit computations. You are able to do more in a single transaction on a 64-bit OS in 64-bit instruction set as compared to a 32-bit task.
Richard Brown, chairman of the openSUSE board gave a very good example: “Just think of basic encryption, like SSH. There is a large amount of encryption going on behind SSH. In 32-bit what the CPU is having to do is quite often, do three or four different transactions to handle that initial handshake for SSH. In the 64-bit OS, it can do it in a lot less commands. Therefore, it does it a lot faster. That's where you get this, somewhere between 15 to 20 percent improvement, straight out of performance on, even basic stuff.”
Currently, SLES is the only enterprise distribution that’s fully supported on Raspberry Pi. Wafaa said, “It has that pedigree of secure timely updates. It has that longevity. A default support lifecycle for SUSE Enterprises is 10 years. If you are developing for a home gateway where it's a device that you don't want to have to continuously fiddle with and check for the updates all the time, you want to know that you can fire it up, it's secure. There's all the security certifications, like FIPS, that are crucial from a security and validation perspective. That's something that SUSE brings to the table, rather than using an open embedded-based or community-based distribution.”
Getting started with SLES
You can head over to SUSE’s download page and click SLES SP2 for Raspberry Pi. If you already have an account with SUSE, log into your account and download SLES SP2 image for Raspberry Pi 3. If you don’t have an account, then you can create one for free. Once you download the image, use the following command to write the image to a Micro SD card:
sudo xzcat <path_of_SLES_image.raw.xz> | sudo dd bs=4M of=<path_of_microsd_card> iflag=fullblock oflag=direct; sync
I downloaded SLES in the Downloads folder of my openSUSE system. Here is the command that I ran on my system, please change accordingly:
sudo xzcat /home/swapnil/Downloads/SLES-12-SP2-ARM-X11-raspberrypi3_aarch64.aarch64-2016.10.04-GM.raw.xz | sudo dd bs=4M of=/dev/mmcblk0 iflag=fullblock oflag=direct; sync
Once the image is written to the card, insert the card into Raspberry Pi, plug in a monitor, keyboard and mouse, then power up the device. Once SLES is booted, go ahead and connect to the network and start using SLES on your system!
Learn more about Linux through the free "Introduction to Linux" course from The Linux Foundation and edX.