How to setup a 64 bit Raspberry Pi with openSUSE

The Raspberry Pi is a great little computer and Raspbian is a wonderful Debian based operating system for it. Raspbian has a graet many uses but one drawback is that while the Pi will support 64-bit software, Raspbian is 32-bit.

For the times that you need a 64-bit operating system on your Pi there is now a solution. OpenSUSE has introduced a 64 bit operating system for the pi.

Below are steps for how you can setup your pi with openSUSE’s 64-bit OS.

Download and flash OpenSuse 64 bit image

Go to to the OpenSuse Raspberry Pi Page and download the X11 image for openSUSE Leap 64-bit for Raspberry Pi. Flash your SD card with flash with etcher.

Boot your pi for the first time

For initial setup you will need:

  • USB keyboard
  • USB mouse
  • Monitor w/HDMI cable
  • Micro USB power source
  • Network cable

After initial setup we will run it headless so you won’t need a monitor, mouse or keyboard attached.

Additionally, if you want to enable wifi, you can remove the network cable once wifi is enabled.

Connect the HDMI, network, mouse and keyboard and plug in the power. Once it boots you can login with the default login:

  • User: root
  • Password: linux

Install nano

You can use your command line text editor of choice, nano may be the easiest to use. If you want to use nano and have connected to your network you can install nano with

sudo zypper in nano

Fix wifi

First we will need to get the wifi working. If you are happy to have a network cable running to your pi you can skip this step, but I like to be able to just have power running to mine.

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

Update the dracut.conf.d

Remove sdhci_iproc in the first line and uncomment the last line. Save the changes, run the command:

mkinitrd -f
sudo reboot

Once you have rebooted, log back in with root:linux

Open a terminal and run

sudo yast2

Navigate to System -> Network Settings and you should see the BCM43430 WLAN card entry.

BCN43430 WLAN

Use tab to navagate to this entry and press enter, then use tab to select Edit and press enter.

Tab to the entry Dynamic Address and press enter.

YAST2 DHCP

Tab to [Next], at bottom right of screen and press enter.

Tab to [Scan Network] and press enter

YAST2 Wifi

Cycle through tab until you get to the box under Network Name. Press the down arrow and select your wifi network.

Choose your Authentication Mode. My guess is that you have WPA-PSK but your settings will vary.

Enter any additonal info needed such as Passphrase and select [Next]

This will take you back to the network settings page. Select [Ok] and press enter

Quit Yast2

Testing your wifi

Make sure your network cable is unplugged and type

ping google.com

You should see something like this if your wifi is working

Working wifi

You can press CTRL+C to stop pinging

Go headless!

Now that your network is working, you can go ahead and shutdown your pi

sudo shutdown now

Then you can remove the mouse, keyboard, network (if you configured wifi) and monitor.

Move the pi to your desired location and plug the power back in.

Find IP address

Once you have your rasperry pi setup with wifi (or network cable if you prefer), you will want to find out it’s ip address so that you can connect to it on your network. To do this you will need to login to your router.

Routers web consoles are different, but typically they will be on your network at an address similar to 192.168.0.1 or 192.168.0.100. You can generally find the address for your router model online with a little searching.

Once you are logged in you can find the ip address of your pi. It will likely be something similar to your router address; 192.168.0.xx

Tip: If your router will allow you to bind the mac address of your pi to a specific ip address, this will keep your pi at the same address.

Login with SSH

If you are using Linux of Mac you will likely have an Open SSH Client installed and can use it from the command line. If you are using Windows you will probably want to install Putty or Cygwin to be able to use SSH from your computer of choice to communicate with your pi. If you do find yourself needing an SSH client, there are a number of alternatives to choose from.

I use Open SSH so the examples should work from any Linux or Mac terminal. If you use windows, the examples may differ slightly based on the SSH software you use.

To continue you will need an SSH Client and the ip address of your pi.

ssh root@<ip address of your pi>

SSH login

Congrats! You are logged in.

Basic configuration

Before we look to setup the wallet there are some steps that we will take to setup your pi. The first of these is to set Time and Date settings.

Open yast2

yast2

Setting date and time

Select System -> Date and Time

Set your timezone and make sure that Hardware Clock Set to UTC is checked.

Tab to Other Settings and press enter. Check the box next to Synchronize with NTP Server and [Accept] Changes.

You may be greeted with a message that additional packages need to be installed, that is fine let it install them.

Check Run NTP as daemon and Save NTP Configuration when you are done

YAST2 NTP setup

Pres [F10] to save and exit and [Ok] when prompted at the Date and Time menu

Select [Quit] from the main yast menu when you are done.

You can check the status of ntp with

systemctl status ntpd

Add additional swap space

If you are planning on having your pi do something resource intensive, like running a node or compiling complex code, you will want to have plenty of memory available.

Let’s get some extra resources by adding some more swap space.

su
mkdir -p /var/lib/swap
dd if=/dev/zero of=/var/lib/swap/swapfile bs=1M count=2048
chmod 600 /var/lib/swap/swapfile
mkswap /var/lib/swap/swapfile
swapon /var/lib/swap/swapfile

Edit /etc/fstab

nano /etc/fstab

Add the following line to the bottom and save

/var/lib/swap/swapfile swap swap defaults 0 0

Secure your Pi

Since you will be storing value on your pi, let’s take a look at some steps that you can take to secure it. While this isn’t an exaustive list, it is a good start to making your pi more secure

Change your root login

First thing that we want to do is to change the default root password of linux. The root user has access to everything on the system so you will want to make this a secure password.

Use the passwd command to change the password

passwd

It will ask you to type your new password twice and give you the message, “passwd: password updated successfully” when it is successful.

Create a non-root user

Next, let’s make a user that does not have root acces, this will be the user that we will use most of the time.

Note: I will use “jproto” as my username in the examples, but you can use your preferred username.

useradd -m jproto

Now let’s set the password for the new user

passwd jproto

Let’s quickly switch users to out new user

su jproto

You are now logged in as your new user

exit

You are now logged back in as root. You will notice that your prompt changed when you are logged in as your new user

Change your host name

One last thing that we can do as root. Pick a host name for your pi. Make it a single lowercase word. I will call my pi, “cersei”.

To do this we will replace the contents of /etc/hostname with the name of our pi.

nano /etc/hostname

Edit the contents to your hostname of choice, save and exit nano.

Login with your new user

From now on we will use the new user’s account so let’s logout of root.

exit

You should no longer be connected to the raspberry pi.

Now let’s login to the pi with the new user

ssh jproto@<ip address of your pi>

It will prompt you for a password, use the password that you gave your new user.

We will need to use some basic bash skills for this part. Nothing difficult, just being able to change directories and know where you are in the file structure.

The Command line crash course is a good primer if you need it.

When you are done, go ahead and logout of your pi

exit

Key based authentication

Now we will setup key based authentication. You can skip this step if you like, but it makes for a more secure system. Just remember to back up your keys somewhere safe because you won’t be able to access the pi without them.

Once complete, you can find your keys in the following folder

~/.ssh

Here are some references that will help you learn more about key based auth.

Create an rsa keypair

If you don’t already have keys on your own machine you will need to generate them.

ssh-keygen -t rsa

Now copy your key to your raspberry pi

ssh-copy-id jproto@<ip address of your pi>

You should now be able to log into your pi with your key

ssh jproto@<ip address of your pi>

Turn off password based authentication

If you turned on key based authentication, you will want to turn off password based authentication

If you are not already logged into your pi, ssh into it.

Become the root user

su

Then edit /etc/ssh/sshd_config

nano /etc/ssh/sshd_config

Make sure the following lines are uncommented (no # at the beginning) and set as follows

RSAAuthentication yes
PasswordAuthentication no
ChallengeResponseAuthentication no

Save and exit the file

Restart ssh

systemctl restart sshd

You can check the status with

systemctl status sshd

Turn on a firewall

Now let’s install a firewall and configure it to allow us to login via SSH

While you are logged in as root

zypper in ufw

Once it is installed check to see what configurations are available

ufw app list

You should see SSH in the list. Let’s allow SSH through the firewall

ufw allow SSH

Now enable the firewall

ufw enable

You can check on the status of the firewall with

ufw status

Update your pi

Now that we have a non-root user, a firewall and can connect via rsa keys, let’s update with the latest software.

This is always a good idea to keep security patches up to date.

zypper up

Once done isntalling, go ahead and shut down and log back in to make sure that everything is working.

sudo reboot

Resources

Below are some resources that may be helpful to you

Written on September 18, 2017