SUSE Blog

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

chabowski

By: chabowski

February 15, 2017 7:01 am

Reads:89,831

Comments:11

Score:5

Print/PDF

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 https://en.opensuse.org/HCL:Raspberry_Pi3. 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 👍!

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

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

Disclaimer: As with everything else in the SUSE Blog, 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.

11 Comments

  1. Hello!!

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

    https://victorhckinthefreeworld.com/2017/02/15/opensuse-en-raspberry-pi-3-poniendolo-en-marcha-desde-0/

    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.

      • By:dragon788

        Actually Ubuntu MATE supports the 7″ touchscreen out of the tin. I simply flashed the image (actually using Etcher, HUGE THANKS for the hint) and it was working perfectly during the install process and after. Sadly the onscreen keyboard isn’t a default option, but a few terminal commands later and it is available and quite nice looking (xvkbd).

  3. By:AZaman

    Hi there ..I followed the steps you mentioned to enable wlan but it is not working for me. I cannot see the wlan interface using yast or in the terminal when i use ifconfig. When i use “mkinitrd -f”. It starts with error ” iscis” not installed. But it does complete and after reboot i cant see wlan. Any ideas ?
    I am using “openSUSE-Leap42.2-ARM-XFCE-raspberrypi3.aarch64-2017.02.02-Build1.52”

  4. By:jbarcena

    After initial boot I can find my Raspberry Pi IP in my network, but I get SSH connection refused. Apparently SSH is not enabled by default. If I connect the HDMI i see that it is in the Initial System Setup with YaST.

    Any suggestion? I really don’t have a USB keyboard I can use 🙁

  5. By:blupacetek

    Hey thanks for the post here…

    Seems to be an issue with JeOS Tumbleweed though. Tried this a couple of times from a headless setup over ssh… after running mkinitrd -f and rebooting the system bricks…

    As this is headless I’m unable to do any diags… and due to SSH not starting its impossible to connect.

  6. By:vvbryz

    Hi Dmitri, thank you for the blog. It was very helpful for me.
    But I meet problems with Leap and can’t solve them.
    During boot I can’t choose boot options in grub – there is NO keyboard that time.
    The second – there is NO sound device, despite to many loaded kernel drivers with “2835” in names. But the sound really exists, I can hear it on desktop PC in LAN using multicast/RTP option in paprefs.
    Thank you!

Comment

RSS