The wikis are now using the new authentication system.
If you did not migrate your account yet, visit

HCL:Raspberry Pi3

Jump to: navigation, search
Raspberry Pi 3

The Raspberry Pi 3 is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video.

Technical Data

openSUSE in Raspberry Pi 3

There are three ways:

  • Writing a disk image to an SD card (easiest)
  • or, installing openSUSE using standard DVD (advanced)
  • or, emulating openSUSE using QEMU (experimental, advanced)

Writing a disk image to a USB stick or a SD card (easiest)

  1. Download the image you want (Leap is stable, Tumbleweed is rolling) from here. Make a choice of desktops:
    JeOS - Just enough Operating System - a very basic system, no graphical desktop
    E20 - Enlightenment desktop
    XFCE - XFCE desktop
    KDE - KDE desktop
    LXQT - LXQT desktop
    X11 - basic X11 system
    JeOS image E20 image XFCE image LXQT image KDE image X11 image

    If the direct links above do not work for you (as we are constantly building new images), please check the general download directory for the images.

    JeOS image E20 image XFCE image LXQT image KDE image X11 image

    If the direct links above do not work for you (as we are constantly building new images), please check the general download directory for the images.

  2. As root extract the image onto your SD card (replace sdX with the device name of your SD card).
    WARNING: all previous data on the SD card will be lost. Check first if the device you have selected is really your SD card!
     xzcat [image].raw.xz | dd bs=4M of=/dev/sdX iflag=fullblock oflag=direct status=progress; sync
  3. Insert the SD card with the openSUSE image into your board.
  4. Connect the board to your PC via serial port (optional, but helpful for debugging; USB-TTL serial cable needed).
  5. Connect the board to your monitor (via DVI/HDMI, optional).
  6. Power on the board.
  7. Walk through the first boot steps.
  8. Ethernet is configured to request an IP via DHCP, check your DHCP server for the board IP if used.
  9. Have a lot of fun...
Default login is root:linux, works on serial console, via ssh, GUI.

installing openSUSE using standard DVD (advanced)

With Leap 42.3 and with the EFI boot protocol implemented in U-Boot, it is possible to directly install from DVD on Raspberry Pi 3.

Note this guide assumes:

  • that you already have a Leap/Tumbleweed OS installed on your PC
  • that you are familiar with the openSUSE installation procedure

To boot the DVD there are multiple ways:

  • copying the ISO on a USB key
  • booting the ISO through the network boot (PXE)

For each cases, it is still needed to use a SD card to load the firmware and the bootloader (USB boot is also possible on Raspberry Pi 3).

USB key installation method

A USB key (that can contains the DVD) and a SD card (at least 16GB) are needed.

  1. Create a bootable SD card with the following partitioning scheme and format it - WARNING all previous data on the device will be lost!
    # fdisk -l /dev/<sd_card>
    Disk /dev/mmcblk0: 14.5 GiB, 15523119104 bytes, 30318592 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x5d972dea
    Device         Boot Start    End Sectors  Size Id Type
    /dev/mmcblk0p1 *     2048 206847  206847  100M  c W95 FAT32 (LBA)
    # mkfs -t vfat /dev/<sd_card>p1
  2. Copy the Raspberry Pi 3 firmware and bootloader on it (note that the B-Boot package version can change!)
    # mount /dev/<sd_card>p1 /mnt
    # zypper -n in raspberrypi-firmware-config-rpi3
    # cp -a /boot/vc/* /mnt/
    # zypper -n rm raspberrypi-firmware-config-rpi3 raspberrypi-firmware
    # mkdir tmp_uboot
    # wget -O tmp_uboot/u-boot-rpi3.aarch64.rpm
    **** for Leap 15 use this:
    # cd tmp_uboot
    # rpm2cpio u-boot-rpi3.aarch64.rpm | cpio -id
    # cp boot/vc/* /mnt/
    # cd ..
    # rm -rf tmp_uboot
    # umount /mnt
  3. Download the Leap 42.3 ISO (or the Tumbleweed ISO) (or Leap 15 ISO) and "burn" it on the USB key - WARNING all previous data on the device will be lost!
    # dd if=[image].iso of=/dev/<usb_key> bs=4M iflag=direct,fullblock oflag=direct
  4. Insert the SD card and USB key into your Raspberry Pi 3
  5. Connect the Raspberry Pi 3 to your PC via serial port (optional, but helpful for debugging; USB-TTL serial cable needed)
  6. Connect the Raspberry Pi 3 to your monitor (via DVI/HDMI, optional if you use the serial port)
  7. Power on the Raspberry Pi 3
  8. Stop the U-Boot procedure by pressing a key (Not needed if you only have U-Boot on your sdcard!)
  9. Change the boot order to force USB boot (Not needed if you only have U-Boot on your sdcard!)
    Hit any key to stop autoboot:  0 
    U-Boot> print boot_targets
    boot_targets=mmc0 usb0 pxe dhcp 
    U-Boot> setenv boot_targets usb0
    U-Boot> print boot_targets      
    U-Boot> boot
  10. Your Raspberry Pi 3 is now booting the installation DVD!

As the installation system suppose that you have a *real* UEFI firmware, a little trick is needed after the installation to be able to boot the OS.

  1. On your PC, you need to create a Hybrid MBR/GPT on the SD card for the Raspberry Pi 3 to be able to load the firmware/bootloader
    # gdisk /dev/<sd_card>
    GPT fdisk (gdisk) version 0.8.8
    Partition table scan:
      MBR: protective
      BSD: not present
      APM: not present
      GPT: present
    Found valid GPT with protective MBR; using GPT.
    Command (? for help): r
    Recovery/transformation command (? for help): p
    Disk /dev/mmcblk0: 30318592 sectors, 14.5 GiB
    Logical sector size: 512 bytes
    Disk identifier (GUID): C6B4FFEC-235E-485A-AA35-E3D4468C1276
    Partition table holds up to 128 entries
    First usable sector is 34, last usable sector is 30318558
    Partitions will be aligned on 2048-sector boundaries
    Total free space is 4029 sectors (2.0 MiB)
    Number  Start (sector)    End (sector)  Size       Code  Name
       1            2048          321535   156.0 MiB   EF00  primary
       2          321536        30316543   14.3 GiB    8E00  primary
    Recovery/transformation command (? for help): h
    WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one,
    just hit the Enter key at the below prompt and your MBR partition table will
    be untouched.
    Type from one to three GPT partition numbers, separated by spaces, to be
    added to the hybrid MBR, in sequence: 1
    Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): n
    Creating entry for GPT partition #1 (MBR partition #1)
    Enter an MBR hex code (default EF): 0C
    Set the bootable flag? (Y/N): y
    Unused partition space(s) found. Use one to protect more partitions?
    (Y/N): n
    Recovery/transformation command (? for help): o
    Disk size is 30318592 sectors (14.5 GiB)
    MBR disk identifier: 0x00000000
    MBR partitions:
    Number  Boot  Start Sector   End Sector   Status      Code
       1      *           2048       321535   primary     0x0C
       2                     1         2047   primary     0xEE
    Recovery/transformation command (? for help): w
    Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
    Do you want to proceed? (Y/N): y
    OK; writing new GUID partition table (GPT) to /dev/mmcblk0.
    The operation has completed successfully.
  2. Insert the SD card with the openSUSE image into your board and power on it
  3. Congratulation! Your Raspberry Pi 3 is now booting your freshly installed openSUSE!
  4. Finally... have a lot of fun :)
Network/PXE installation method
  • TODO

QEMU emulation method (experimental, advanced)

Additional information can be found here.

Minimal testing with Leap JeOS 15.1 on Leap 15.1 x86_64. This example assumes the above JeOS image is already downloaded in the ~/Downloads directory.

  1. Install qemu-arm and qemu-uefi-aarch64 packages.
  2. Create a directory to work in then extract the image and move it to the new directory.
> mkdir ~/qemu
> cd ~/qemu
> xz -dk ~/Downloads/openSUSE-Leap-XX.x-ARM-JeOS-raspberrypi3.aarch64-YYYY.MM.DD-SnapshotX.X.raw.xz
> mv ~/Downloads/openSUSE-Leap-XX.x-ARM-JeOS-raspberrypi3.aarch64-YYYY.MM.DD-SnapshotX.X.raw ~/qemu

Now run the emulation.

> qemu-system-aarch64 -M virt -m 2048 -cpu cortex-a57 \
--bios /usr/share/qemu/qemu-uefi-aarch64.bin \
--drive "format=raw,file=/home/[user]/qemu/openSUSE-Leap-15.1-ARM-JeOS-raspberrypi3.aarch64-2019.05.17-Snapshot1.1.raw" \
--serial stdio \
--nic user,model=virtio-net-pci


I don't see kernel output on serial or HDMI

If you don't see kernel output on serial or HDMI, you can try adding earlycon=uart8250,mmio32,0x3f215040 to the kernel command line.

I see HDMI output in U-Boot, but not in Linux

The upstream Linux graphics driver for the Raspberry Pi has problems with a few monitors. The same applies to the 7" LCD displays. In those cases, please fall back to the efi frame buffer console by passing the following into the kernel command line:


I cannot use keyboard in U-Boot and Grub but it works in Linux

USB 1.1 keyboards don't work well with the dwc2 USB interface. Get an USB2 keyboard or upgrade u-boot to a version that has fix for bug 1139351. Even with the fix you must press a key when "USB0: scanning bus 0 for devices..." is printed. Otherwise you will see a probe error for the keyboard and it will not be enabled in u-boot and grub.

Boot from USB

If you are using a Raspberry Pi 3 A+ or B+, you can boot from USB directly.

If you are using another Raspberry Pi 3, you can enable USB boot by updating OTP memory. For that, you need to boot once from an SD card with a Config.txt file on 1st partition (along the Raspberry Pi firmware) which include the following line:


Once done, your Raspberry Pi 3 will try to start from USB, if no SD card.

More information on:

Graphics Acceleration

The package xf86-video-fbturbo offers a drop-in replacement driver for Hardware accelerated window moving/scrolling on boards with BCM2835 DMA Controller. In order to load the driver, add a section

Section "Module"
        Load    "shadow"

to /etc/X11/xorg.conf.d/99-fbturbo.conf and restart the X-Server. (See boo#1163230)

For 3D acceleration, install the package Mesa-dri-vc4. In the file /etc/X11/Xorg.conf.d/20-kms.conf, remove the line
Option "AccelMethod" "none"
After a restart of the X-Server the windows now move smoothly over the desktop

See also