At the end of November, the Raspberry Pi Blog announced the availability of SuSE Linux Enterprise Server (SLES) for the Raspberry Pi 3. As Eben Upton said at that time, this was a big deal for two reasons -- it was the first official 64-bit operating system for the Pi 3 (Raspbian and other currently available versions are 32-bit), and it was an official release from a major vendor.
The announcement in theSuSE Blog gives a lot more information about the what/why/how of the SLES port, and makes for an interesting read. From what I gather, SuSE and/or ARM gave out some spiffy packages (shown at right) which contained a Raspberry Pi 3 preloaded with SLES 12 SP2: I would have loved to have been there and been blessed with one...
There are a few strings attached to this release, however, because SLES is a commercial Linux distribution. The Raspberry Pi port is being offered free of charge, along with a one year self-service registration for updates and patches. I'm not sure what will happen at the end of that year; I hope that the registration and patch/update availability will simply be continued for another year, but I didn't see anything in the announcements about that.
The first step, of course, is to download the distribution image. The SuSE Linux Enterprise Server download will ask you to sign in or create a SuSE Customer Center account in order to receive a year of patches and updates. Look closely at the bottom of the window, and you will see that there is an option to simply download the image without registering, and thus without getting the updates and patches. If you just want to download and boot SLES out of curiosity or for the "gee whiz" effect, you can take the no-registration option. But if you plan to keep it around even long enough to try it out and see if it might be useful, then you probably should register in order to get the patches and updates.
The image can be uncompressed and copied to an SD card (minimum 8GB) with the following command:
xz -cd IMAGE | dd of=/dev/sdx bs=4M
Replace IMAGE with the download file name (currently SLES-12-SP2-ARM-X11-raspberrypi3_aarch64.aarch64-2016.10.04-GM.raw.xz) and /dev/sdx with the device name for your SD card. This command takes something like 5-10 minutes on my desktop system, so be patient and give it time to complete.
The initial partitioning of the SD card is a 200MB (FAT) EFI partition (yes, they have switched the boot process around so that it ends up looking like an EFI boot), a 266MB (ext3) BOOT partition, and a 4.96GB (btrfs) ROOT partition. Here's a little tip that I learned the hard way... don't try to expand the ROOT partition to use the remaining free space at this point. If you do, the initial boot sequence will not be happy, and it will crash and burn in a pretty spectacular fashion. Just leave it as is at this point, and let the initial boot processing do its own work.
The SD card can then inserted into a Raspberry Pi 3 and booted. The initial boot sequence will resize the file systems to fill the SD card, and will then go through a configuration dialog to set the installation language and keyboard layout, and create the Linux user account.
At this point I ran into my first significant problem - my Logitech Unifying keyboard and trackball didn't work. BLEAH! After unplugging and replugging the Unifying receiver, and moving it between various ports on the Pi, I finally gave up and dug out a wired USB keyboard, which involved diving deep into the storage are in my attic, and whacking my head on the roof beams a couple of times just to improve my attitude even more.
It's a pretty weird problem, actually, because the Unifying keyboard works just fine in the initial GRUB boot menu, but then when SLES starts coming up, it quits working. I later found some more information about this in the forums, it seems that there is a kernel module missing which is required to support the Unifying receiver.
Anyway, once you get a working keyboard and mouse connected, the configuration then continues to the Registration step. Here you enter your email address and the Registration Code that you got during the download. Except, the code that I got wouldn't work - I kept getting "unknown registration code" from the registration server. Hmmm. Ok, I finally gave up and took the "continue without registration" option.
SLES comes up and seems to run ok, but it is a different world than what I am used to with openSuSE, perhaps because this is the SLE Server version, rather than the Desktop version. It uses iceWM for the desktop, with a very simple configuration. I would love to include a screen shot of it at this point, but I couldn't find a screen capture utility of any kind, and I couldn't figure out how to download one...
A wired network connection came up with no problem, but wireless networking had me baffled for a while, as there is no network icon on the iceWM panel, and I was starting to think I might have to set up wireless networking via the CLI. I finally found the YAST Network control in the iceWM menus, and was able to walk through that and get WiFi configured and working.
Here is a short list of the applications and utilities included:
- Kernel 4.4.21
- iceWM 1.3.12
- wicked network manager
- emacs editor
That's not a lot. Again, it could be because this is the Server edition and not the Desktop edition, so a lot of the desktop applications and utilities are not included. It seems to me that this distribution is intended as a proof that the 64-bit kernel works on the Pi 3, and perhaps as a development platform for continuation of the work on that, and other project which might come along.
An openSuSE Leap 42.2 64-bit image for the Raspberry Pi 3 was announced in December. The announcement was very similar to the one for SLES, listing the advantages of being part of the standard openSuSE development family, so it continuously gets updates the same as all the other standard openSuSE distributions. Unlike SLES, which has only one desktop/GUI available, the openSuSE distributions offer a variety of desktops, including Xfce, LXQT, and others. They also don't have all of the hoops to jump through with registration and support, so getting the download is considerably easier.
The downloads are available through the openSuSE Wiki Raspberry Pi 3 page. Unless you know exactly what you are doing, you should not try to use the "non-upstream" image, just skip down to 'Installing the 64-bit openSUSE Leap image'. There are download links there for various desktop versions, I chose to try the Xfce variety. I would actually have liked to try the LXQT version, but it seems to be MIA at the moment.
The file format is the same, xz-compressed raw image, so the procedure for copying to an SD card is the same as for SLES. The initial boot sequence again resizes the root filesystem to use all available space on the SD card, but it doesn't perform the rest of the initial configuration that SLES did. That means it then comes up with only a root account, and a standard U.S. English keyboard. So after you login, the desktop looks like this:
This looks much more familiar than the SLES desktop with iceWM did. The panel, and menus are exactly what I am used to on other systems running Leap. The Network Manager icon is on the panel, and the WiFi networks are listed.
Since I was moaning about SLES not having a lot of familiar utilities and applications, here is a short list of what is included in Pi 3 Leap 42.2:
- Kernel 4.4.36
- Xfce 4.12
- Network Manager
- eVince document viewer
- Ristretto image viewer
- Shotwell photo management
- Leafpad text editor
- Screenshot utility
In short, with the exception of LibreOffice, it has pretty much everything you would expect on an openSuSE Leap installation.
This is where I hit the wall. I had no luck getting Tumbleweed running on the Pi 3, or even the Pi 2. On the Pi 3 page, none of the links for upstream Tumbleweed kernels worked, and when I went into the download directory to have a look around, all of the files were dated the end of October. I know from experience with Tumbleweed that is not a good sign. Sure enough, none of them would boot for me.
I also went to the openSuSE Pi 2 page, and found some current images there. When I tried them, they at least started to boot, but they never actually made it up to a GUI desktop. I finally decided to give up on Tumbleweed for now.
Trying out SuSE/openSuSE on the Raspberry Pi hasn't been as much fun as I thought it would be. The good news is that there really are 64-bit ARM images available for the Raspberry Pi 3. I think this is important primarily because the SuSE developers who have been working on this are feeding their changes back into the upstream kernel, so they will be available for everyone, and that will help in making other 64-bit distributions possible.
I'm not sure exactly how useful any of this is going to be right now, however. I suppose that if you are already familiar with SLES, the Raspberry Pi 3 port could be useful. But the very minimal iceWM desktop, and the limited applications and utilities that are currently included are going to limit the usefulness of it right now.
openSuSE Leap, on the other hand, seems more complete and familiar, but it seems to really struggle on the Pi 3, and there was a time or two when the Xfce desktop crashed and I had to login again. I think there is some improvement in stability needed before this could find more wide spread use.
Most disappointing of all was openSuSE Tumbleweed, simply because that is my favorite distribution, and I couldn't even get it to boot on either the Pi3 or Pi2. Sigh.
Ah well, I will press ahead this week trying out the other non-Raspbian distributions on the Raspberry Pi. As it looks now that will be Ubuntu MATE, Fedora 25, Manjaro ARM and PiCore Linux. If there are others that I have overlooked, please let me know.