Jump to content
documentation.suse.com / Raspberry Pi Quick Start
SUSE Linux Enterprise Server for Arm 15 SP6

Raspberry Pi Quick Start

Publication Date: November 14, 2024

This guide contains an overview of SUSE Linux Enterprise Server for Arm on the Raspberry Pi* platform and will guide you through the setup procedure.

Author: Fabian Vogt, Release Engineer, SUSE
Author: Jay Kruemcke, Product Manager, SUSE
Author: Andreas Faerber, Project Manager, SUSE

1 Platform overview

To use SUSE Linux Enterprise Server for Arm on Raspberry Pi, a 64-bit Arm* compatible Raspberry Pi* is required. SUSE Linux Enterprise Server for Arm 15 SP6 is tested to work on Raspberry Pi 3 Model A+, Model B, Model B+, and Raspberry Pi 4 Model B boards as well as on Raspberry Pi Compute Module 3 and 3+ on MyPi Industrial IoT Integrator Board.

1.1 Technical details of the Raspberry Pi 3 model B

Raspberry Pi is a series of small single-board computers based on a System-on-a-Chip (SoC) by Broadcom*, featuring various peripherals on the board.

Overview of Raspberry Pi 3 Model B connectors © Efa / English Wikipedia / CC BY-SA 3.0
Figure 1: Overview of Raspberry Pi 3 model B connectors, © Efa / English Wikipedia / CC BY-SA 3.0
Photo of Raspberry Pi 3 Model B connectors © Evan-Amos / Own work / Public Domain
Figure 2: Photo of Raspberry Pi 3 model B connectors, © Evan-Amos / own work / public domain
Selected features of Raspberry Pi 3 model B/B+
CPU

The Broadcom BCM2837 SoC includes a quad-core Arm* Cortex*-A53 Application Processor supporting the Armv8 32-bit and 64-bit instruction sets. With the default configuration, it is clocked up to 1.2 GHz.

RAM

1024 MiB DDR2 memory mounted on the back of the board.

Graphics

Broadcom* VideoCore* IV providing OpenGL* ES 2.0 support. Displays can be connected over HDMI*, composite (TRRS jack), or MIPI* DSI* (ribbon cable).

Ethernet

A USB Ethernet controller on the board provides 10/100 Mbit/s Ethernet (Model B) or 10/100/1000 Mbit/s Ethernet with a maximum throughput of 300 Mbit/s (Model B+).

WLAN

The BCM43438 chip on Model B supports IEEE-802.11b, IEEE-802.11g, and IEEE-802.11n in the 2.4 GHz band. It also provides Bluetooth 2.0 to 4.1 (Low Energy). The BCM43455 chip on Model B+ supports IEEE-802.11b, IEEE-802.11g, IEEE-802.11n, and IEEE-802.11ac in the 2.4 GHz and 5 GHz bands. It provides Bluetooth 4.2 (Low Energy).

Storage

The microSDHC card slot allows for a memory card to be inserted as the primary boot medium.

Power

Raspberry Pi 3's main power source is the Micro USB connector. If your Raspberry Pi comes with a power supply, it is recommended to use the bundled power supply only.

USB

A total of four USB 2.0 ports are available.

Connectors

A 0.1 inch multi-function pin header is also available. Note that not all functionality of this header is exposed in SUSE Linux Enterprise Server for Arm 15 SP6.

1.2 SUSE Linux Enterprise Server for Arm 15 SP6

SUSE Linux Enterprise Server for Arm is the first fully supported commercial Linux operating system product available for Raspberry Pi. You can purchase subscriptions which entitle you to receive all released bug and security fixes, feature updates, and technical assistance from SUSE's worldwide support. Learn more about subscription and support options at https://www.suse.com/support/programs/subscriptions/?id=SUSE_Linux_Enterprise_Server.

Note
Note: Trial version

If you want to try out SUSE Linux Enterprise Server for Arm 15 SP6 on Raspberry Pi, SUSE will provide you with a trial version. This gives you access to free patches and updates for a period of 60 days. You must log in to the SUSE Customer Center at https://scc.suse.com/ using your Customer Center account credentials to receive this free offer. If you do not have a Customer Center account, you must create one to take advantage of the trial version.

Minimum System Requirements for Installation

  • Raspberry Pi 3 Model A+, B, or B+, or Raspberry Pi 4 Model B

  • microSD card with at least 8 GB capacity

  • USB keyboard, mouse

  • HDMI cable and monitor

  • Power supply with at least 2.5 A capacity

1.2.1 Differences compared to Raspberry Pi OS

Raspberry Pi OS is the de-facto default distribution for Raspberry Pi. The following paragraphs provide a short overview of differences between SUSE Linux Enterprise Server for Arm on Raspberry Pi and Raspberry Pi OS.

Based on upstream kernel

Raspberry Pi OS uses a kernel with modifications especially for Raspberry Pi. SUSE Linux Enterprise Server for Arm uses the default SUSE Linux Enterprise kernel for AArch64, which is derived from the official mainline kernel.

AArch64 instruction set

SUSE Linux Enterprise Server for Arm on Raspberry Pi is the first distribution for Raspberry Pi using the AArch64 instruction set.

Boot process

In Raspberry Pi OS, the kernel is loaded directly. This is not supported by SUSE Linux Enterprise Server for Arm, where the U-Boot boot loader is used to provide an EFI boot environment. A GRUB2 EFI binary is chain-loaded to provide a graphical boot screen.

Root file system

SUSE Linux Enterprise Server for Arm for Raspberry Pi uses Btrfs as the file system for the root partition. Compression is enabled by default for better SD card performance.

1.2.2 YaST

YaST is the installation and configuration framework for SUSE Linux Enterprise. It is popular for its ease of use, flexible graphical interfaces and the capability to customize your system quickly during and after installation. YaST can be used to configure your entire system: You can configure hardware, set up networking, manage system services, and tune your security settings. All these tasks can be accessed from the YaST control center. To start it, choose YaST in the menu or run the command xdg-su -c yast2. You will be prompted to enter the password of the root user.

The YaST control center
Figure 3: The YaST control center

When started, YaST shows an overview of available modules (Figure 3, “The YaST control center”). Simply click an icon to open a module.

1.2.3 Zypper

Zypper is the package manager for SUSE Linux Enterprise. It is the tool for installing, updating and removing packages and for managing repositories.

The general syntax for Zypper invocations is:

zypper [global-options] command [command-options][arguments] ...
Note
Note: Short command form

For most commands, there is both a short and a long form. An overview is available with zypper --help.

Installing a package
# zypper install mplayer
Removing a package
# zypper remove mplayer
List available patches
> zypper list-patches
Install available patches
# zypper patch
Note
Note: Installing software updates

The recommended way to install available software updates is by using the YaST Online Updater. To start it, choose Online Update in Settings under Desktop Apps in the IceWM menu.

1.2.4 Limitations

Graphics not hardware-accelerated

X.Org hardware acceleration is disabled to improve system stability and reliability.

For other limitations, refer to the online version of the Release Notes at https://www.suse.com/releasenotes/aarch64/SUSE-SLES/15-SP6/.

2 Installation

SUSE Linux Enterprise Server for Arm for Raspberry Pi is distributed as an XZ-compressed image file for microSD cards. This section will guide you through the process of preparing the card for the first boot. If you already have a microSD card containing the image, you can skip this section and go straight to Section 3, “First boot”.

Note
Note: SD card space requirements

It is recommended to use a card with a capacity of at least 8 GB.

Warning
Warning: All data on the card will be lost!

By following the procedure below, all data on the SD card will be overwritten and therefore irrevocably lost. Be very careful when choosing the destination device of the image writing process.

2.1 Preparing the card on Linux

Before and after you plug in the SD card, run the lsblk command. Between the two runs of lsblk, there should be a difference of one or more lines. The first column and first row is the name of the node representing the SD card in your system. To write the image to the card, use the dd command:

xz -cd IMAGE | dd of=/dev/SDCARDDEV bs=4096
Example 1: Writing the image to the card using dd

This command decompresses the image SLES15-SP6-Minimal-Image.aarch64-15.6-RaspberryPi-GM.raw.xz to the SD card mmcblk0:

> xz -cd SLES15-SP6-Minimal-Image.aarch64-15.6-RaspberryPi-GM.raw.xz | sudo dd of=/dev/mmcblk0 bs=4096 iflag=fullblock status=progress

2.2 Preparing the card on Microsoft Windows operating systems

The following steps will guide you through the installation of the image onto the SD card on Microsoft® Windows® operating systems. You need to meet these prerequisites:

  1. Open the downloaded image using Easy 7-Zip. Extract the file content into a directory with sufficient free space.

    7zip extraction dialog
  2. Run Win32 Disk Imager and select the extracted file as Image File. Then, choose the correct drive letter as Device. Click Write to start the procedure.

    Win32 Disk Imager Writing Process
    Note
    Note: Finding the correct device

    If you are unsure which drive letter to choose from in the list, remove the SD card and run Win32 Disk Imager again. The option that disappeared is the right target device.

2.3 Preparing the card on macOS

The following steps will guide you through the installation of the image onto the SD card on macOS®. You need to meet these prerequisites:

  1. Open Finder at the location where the downloaded image is stored. Use the Open With selection to choose The Unarchiver instead of the default Archive utility and extract the content into a directory with sufficient free space.

    Open the Image with The Unarchiver
  2. Open a terminal window and change into the destination directory of the uncompressed image. Enter diskutil list before and after the SD card is inserted to find out which device to use.

  3. Run diskutil unmountDisk /dev/diskX, where X is the disk number from the previous step.

  4. Run sudo dd bs=4096 if=imageFile.raw of=/dev/diskX, where X is the disk number and imageFile.raw is the name of the uncompressed image.

    > sudo dd bs=4096 if=SLES15-SP6-Minimal-Image.aarch64-15.6-RaspberryPi-GM.raw.xz of=/dev/disk4
    Password:
    5550+0 records in
    5550+0 records out
    5819596800 bytes transferred in 1131.796649 secs (5141910 bytes/sec)
  5. Now unmount the disk (which is now labelled EFI) as usual.

3 First boot

To boot Raspberry Pi from the prepared microSD, insert the card into the card slot, then connect a display, an Ethernet cable, a USB keyboard, and a mouse. Power Raspberry Pi. If everything works, you should see the text on the screen.

Note
Note: Operation without mouse

The JeOS First Boot Assistant can be controlled using the keyboard only. Each user interface element has an accelerator, shown as a highlighted character. To activate an accelerator, press Alt and the appropriate character.

During the first boot, the system expands to make use of the entire storage card. This operation may take a while.

3.1 Initial system setup with JeOS First Boot Assistant

After the boot is completed, the JeOS First Boot Assistant leads you through the initial system setup.

Note
Note: JeOS First Boot Assistant via a serial connection

To run the JeOS First Boot Assistant wizard via a serial connection, you need to remove the console=tty from the kernel command line console=ttyS0,115200 console=tty in GRUB 2 even if there is no HDMI cable connected.

The minimal JeOS image comes without language selection. After the assistant finishes, you will be able to install and select your system locale. You can start JeOS First Boot Assistant at any time using the jeos-config command.

  1. First, the keyboard layout needs to be configured. Use the arrow keys or first letter and select OK.

    JeOS First Boot Assistant showing keyboard configuration on first boot
  2. Read the License Agreement. You need to accept it.

    JeOS First Boot Assistant displaying the license text
  3. Select the time zone by using the arrow keys or first letter.

    YaST asking for the time zone
  4. Select OK to proceed.

  5. You will be asked to provide a root password now. Do not forget what you enter here, as you will need it for administration.

    JeOS First Boot Assistant asking you to set a password for the root user
  6. Confirm the root password you just provided by typing it in again.

    JeOS First Boot Assistant asking you to confirm the password for the root user
  7. Note that you should register your system after installation, as detailed in Section 3.2, “Registration process”.

    JeOS First Boot Assistant showing registration instructions
    Note
    Note: Deferring registration

    You will not receive updates or patches until you register using SUSEConnect.

  8. Select OK to continue.

  9. Finally, you are offered the option to configure a wireless network. If you have a wired Ethernet connection, you can skip this step by selecting No.

    JeOS First Boot Assistant asking you whether to configure a wireless network

    If you select Yes, you will see the following screens:

    1. Select a wireless network to connect to and proceed with OK.

      JeOS First Boot Assistant asking you to select a wireless network
    2. Select the authentication method for the wireless network and proceed with OK.

      JeOS First Boot Assistant asking you to select an authentication method for the wireless network
    3. Enter the passphrase for the wireless network and proceed with OK.

      JeOS First Boot Assistant asking you to enter the passphrase for the wireless network
Note
Note: WPA EAP authentication

WPA authentication supports just the mschapv2 EPA authentication, which is used as default.

If you chose to skip configuration of wireless networks or if you fully completed their configuration, the JeOS First Boot Assistant will exit. The system continues to boot to a login prompt.

You can now log in as root user with the password you chose earlier.

Note
Note: Canceling the JeOS First Boot Assistant

If at any point you select to Cancel the assistant, the system will shut down. You can then disconnect the power supply, make any necessary changes, and start over.

3.2 Registration process

It is very important to register your SUSE Linux Enterprise Server for Arm subscription to ensure full functionality of your Raspberry Pi system. The SD card image provided by SUSE contains a minimal set of packages that are intended for the initial boot process and to get your Raspberry Pi onto the network.

When you have registered your SUSE Linux Enterprise Server for Arm subscription, you can download other packages you may need, such as compilers. The SUSE Linux Enterprise Server version that runs on your Raspberry Pi is the same version that runs on AMD64/Intel 64, POWER, IBM Z, or on other Arm-based systems.

Important
Important: Setting the clock

Because Raspberry Pi does not have a persistent Real Time Clock, make sure that the clock is set to the current date and time before attempting to use Zypper or YaST to install additional packages.

You can initially register your system with the SUSEConnect tool. Afterwards, you can also make use of the YaST Product Registration module.

Note
Note: Evaluation code

Sixty-day evaluation subscriptions may be requested at the following page: https://www.suse.com/products/arm/.

After you have obtained a registration code from a subscription card, you need to activate your subscription on the SUSE Customer Center at:

https://scc.suse.com/

To register your subscription, perform the following steps:

  1. Log in to the SUSE Customer Center using a browser on another machine. Create an account if required:

    Log in to the SUSE Customer Center
  2. Click Manually Activate Subscriptions:

    Manual activation of subscription.
  3. Click the dialog field Activate a single subscription:

    Activate a single subscription.
  4. Enter the registration code and accept the terms and conditions:

    Enter the registration code.
  5. Confirm the subscription activation and the organization assignment. Click Activate:

    Confirm the activation.
  6. Your subscription is now active and ready to be used:

    You now have an active subscription.

To register the system, use the SUSEConnect tool as instructed earlier:

# SUSEConnect -e company@example.com -r YOUR_CODE
Registering system to SUSE Customer Center
Using E-Mail: company@example.com

Announcing system to https://scc.suse.com ...

Activating SLES 15.6 aarch64 ...
-> Adding service to system ...

Activating sle-module-basesystem 15.6 aarch64 ...
-> Adding service to system ...
-> Installing release package ...

Activating sle-module-server-applications 15.6 aarch64 ...
-> Adding service to system ...
-> Installing release package ...

Successfully registered system

This may take a few moments. Afterwards, you will have access to online repositories for installing more packages, as described in Section 1.2.3, “Zypper”.

Example 2: Installing YaST

Later sections may assume you have installed YaST for system configuration:

# zypper in -t pattern yast2_basis
Note
Note: Module availability

Your subscription gives you access to more than the above Basesystem Module and Server Applications Module. To activate additional modules, you can use the YaST System Extensions module.

4 Initial system configuration

In this section, it is explained how to perform the initial system configuration for SUSE Linux Enterprise Server for Arm for Raspberry Pi 15 SP6.

4.1 Changing the language

Follow these steps to change the default language:

  1. Install the glibc-locale package:

    # zypper in glibc-locale
  2. Set the language as desired:

    # localectl set-locale LANG=de_DE.UTF-8
Note
Note: Translation packages

Certain applications may require you to install an additional -lang package before you can see texts translated to the chosen language.

4.2 Changing the host name

Follow these steps to change the default host name:

  1. Open the YaST network module either by running yast2 lan or clicking the network icon in the YaST control center.

  2. Select Hostname/DNS in the top tab bar.

  3. Type the new host name into the Hostname field.

  4. Click OK to save the change. After YaST exits, you need to log out and in again.

4.3 Setting up networking

The default configuration has DHCP enabled on the Ethernet port. If that suits your network environment, you can skip this section. If you require the use of a static IP address, use YaST:

  1. Open the YaST network module either by running yast2 lan or clicking the network icon in the YaST control center.

  2. In YaST, you will see the network interface being selected. Select the built-in Ethernet and choose Edit to open the address configuration.

  3. Select Statically Assigned IP Address and type in the desired values for IP Address and Subnet Mask. Click Next.

  4. With a static network configuration, you will also need to specify a DNS server (if applicable) and a gateway. For the gateway, select Routing in the tab bar and enter the IPs of the gateways into the specific fields.

  5. The DNS server is set in the Hostname/DNS tab. After choosing that tab, enter the IPs of the name servers into the respective Name Server fields.

Similarly to the procedure described above, YaST also lets you configure the built-in Wi-Fi network adapter.

For detailed information about the network configuration in SUSE Linux Enterprise Server for Arm, consult the respective sections of the SUSE Linux Enterprise Server Deployment and Administration guides at https://documentation.suse.com/sles/.

5 General system usage

After the initial configuration procedure and the first boot of the system, you can now use various components of the system.

5.1 Desktop

SUSE Linux Enterprise Server for Arm for Raspberry Pi 15 GA had packages for a minimal X11 desktop (IceWM) preinstalled.

SUSE Linux Enterprise Server for Arm for Raspberry Pi 15 SP6 comes as a tiny text-based appliance, allowing you to install any available desktop of your choice or none for headless usage. Should you want to re-create the package selection of the previous images, a pattern x11_raspberrypi is provided for convenience.

If not done already, you will need to enable the Desktop Applications Module. Assuming you have registered the base product already, as described in Section 3.2, “Registration process”, the fastest way to enable the module is:

# SUSEConnect -p sle-module-desktop-applications/15.6/aarch64
Registering system to SUSE Customer Center

Updating system details on https://scc.suse.com ...

Activating sle-module-desktop-applications 15.6 aarch64 ...
-> Adding service to system ...
-> Installing release package ...

Successfully registered system

You can then install the desktop packages pattern:

# zypper install -t pattern x11_raspberrypi

5.2 Bluetooth

Raspberry Pi 3 and later models have a Bluetooth* controller onboard that can be used for various purposes, such as wireless keyboards, mice or audio devices.

To use the Bluetooth controller, install the bluez package:

# zypper install bluez

Then start and enable the bluetooth systemd service:

# systemctl enable --now bluetooth

You can use bluetoothctl to operate the Bluetooth device.

6 Product documentation

This introduction only covered the most basic tasks.

6.1 Product documentation

You can find the complete documentation for SUSE Linux Enterprise Server for Arm 15 SP6 at https://documentation.suse.com/.

Note
Note: Applicability of product documentation

Not all content in the product documentation applies to SUSE Linux Enterprise Server for Arm on Raspberry Pi, because Raspberry Pi differs significantly from other hardware platforms.

6.2 SUSE forums

A valid and activated subscription entitles you to receive bug and security fixes, feature updates, and technical assistance from SUSE's support organization. Learn more at https://www.suse.com/support/. Via the SUSE Customer Center at https://scc.suse.com/, you can open an incident.

In addition, SUSE provides a community site where you can get answers to questions. Go to https://community.suse.com/.

Important
Important: Forums are not an official support channel

The SUSE forum is not an official support channel from SUSE. The individual articles or statements were contributed voluntarily by community members and users of the respective products. SUSE cannot verify either that the actions described in the articles do what they claim to do, or that they do not have unintended consequences. Therefore, neither SUSE LLC, its affiliates, nor the authors may be held liable for possible errors or the consequences thereof.

Visit https://www.suse.com/support/ for more information about official support options.

7 Trademarks

For SUSE trademarks, see https://www.suse.com/company/legal/. All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™ etc.) denote trademarks of SUSE and its affiliates. Asterisks (*) denote third-party trademarks.