openSUSE on Raspberry Pi 3: From Zero to Functional System in a Few Easy Steps


By: chabowski

February 15, 2017 7:01 am





The following article has been contributed by Dmitri Popov, Technical Writer at the SUSE Documentation team.




Deploying openSUSE on Raspberry Pi 3 is not all that complicated, but there are a few tricks that smooth the process.

First of all, you have several flavors to choose from. If you plan to use your Raspberry Pi 3 as a regular machine, an openSUSE version with a graphical desktop is your best option. And you can choose between several graphical environments: X11, Enlightenment, Xfce, and LXQT. There is also the JeOS version of openSUSE which provides a bare-bones system ideal for transforming a Raspberry Pi 3 into a headless server. Better still, you can choose between the Leap and Tumbleweed versions of openSUSE.

The first order of business is to download the desired openSUSE image from Next, you need to create a bootable microSD card. While you can write the downloaded image to a microSD card using command-line tools, Etcher makes the process more enjoyable and safe. Grab the utility from the project’s website, extract the downloaded .zip file and make the resulting .AppImage file executable using the command:

chmod +x Etcher-x.x.x-linux-x64.AppImage

Plug then a microSD card into your machine, launch Etcher by double-clicking on it, select the downloaded .raw.xz image file, and press Flash!. Connect a display and keyboard to the Raspberry Pi 3, insert the microSD card in it, and boot the little machine. During the first boot, openSUSE automatically expands the file system to make use of all free space on the card. At some point you’ll see the following message:

GPT data structures destroyed! You may now partition the disk using 
fdisk or other utilities

There is no need to panic, though. Wait a minute or two, and openSUSE will continue to boot normally. When prompted, log in using the default root user name and linux password.

If you choose to deploy JeOS on your Raspberry Pi 3, keep in mind that you won’t see any output in the screen during first boot. This means that the screen will remain blank until the system finishes expanding the file system. While you can configure kernel parameters to show output, it’s probably not worth the hassle. Just wait till you see the command-line prompt.

Since openSUSE comes with SSH enabled and configured, you can boot the Raspberry Pi without a display. In this case, you need to connect the Raspberry Pi to your network via Ethernet. Just give the Raspberry Pi enough time to boot and expand the system, and you can then connect to it via SSH from any other machine on the same network using the ssh root@linux.local command.

By default, you log in to the system as root, and it’s a good idea to create a regular user. The all-mighty YaST configuration tool lets you do that with consummate ease. Run the yast2 command, switch to the Security and Users -> User and Group Management section, and add a new user. While you are at it, you can update the system in the System -> Online Update section. Once you’ve done that, quit YaST, reboot the Raspberry Pi, and log in as the newly created user.

That’s all fine and dandy, but there is one crucial component of the system that doesn’t work right out of the box: the wireless interface. Fortunately, this issue is easy to solve. First, install the nano text editor using the command:

sudo zypper in nano

then run:

sudo nano/etc/dracut.conf.d/raspberrypi_modules.conf

to open the raspberrypi_modules.conf file for editing. Remove sdhci_iproc in the first line and uncomment the last line. Save the changes, run the command:

mkinitrd -f

and reboot the Raspberry Pi.

Launch YaST again, switch to the System -> Network Settings section, and you should see the BCM43430 WLAN Card entry in the list of network interfaces. Select this entry and press Edit. Enable the Dynamic Address DHCP option, press Next, select the desired wireless network, and configure the required connection settings. Press Next and then OK to save the settings. Reboot the Raspberry Pi, and it should automatically connect to the specified Wi-Fi network.

And that’s it 👍!

2 votes, average: 5.00 out of 52 votes, average: 5.00 out of 52 votes, average: 5.00 out of 52 votes, average: 5.00 out of 52 votes, average: 5.00 out of 5 (2 votes, average: 5.00 out of 5)
You need to be a registered member to rate this post.

Tags: , , , , ,
Categories: Expert Views, openSUSE, Server, Technical Solutions

Disclaimer: As with everything else at SUSE Conversations, this content is definitely not supported by SUSE (so don't even think of calling Support if you try something and it blows up).  It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.


  1. Hello!!

    Great tutorial! As I want to spread the word, I made a spanish translation of this easy HowTo:

    I put a link to the original, and a mention to the original author, of course!!

    Have a lot of fun!! 😉

    • By:chabowski

      Hi Victor,

      thanks a bunch for your Spanish translation and for posting this tutorial on your blog! If questions come up, Dmitri will be happy to answer – just let us know!

  2. By:rbf072858

    It would be nice if the image supported the 7 inch Raspberry PI touch display

    • By:chabowski

      Thanks for the hint!

    • By:tsu2

      IMO that’s a current problem for all non-raspbian distros… the U-boot bootloader hasn’t changed in many, many years and directions to add new hardware add-on support is probably understood only by the people who created the method more than a decade ago. Raspbian re-wrote their own bootloader to add easy to create hardware definitions. So, currently AFAIK we are no different than any other non-raspbians, plan on use the standard video out ports for any graphical Desktops.