openSUSE:OpenSUSE on your ARM board

Jump to: navigation, search

openSUSE on your ARM board

Pre-built images for ARM boards are available:


Click on your board and follow instructions.

If no pre-built images are available for your board, download the root file system (aarch64 rootfs or armv7 rootfs) available at:

Susemini.png
Version:
Tumbleweed aarch64
http://download.opensuse.org/ports/aarch64/tumbleweed/images/
Susemini.png
Version:
Tumbleweed armv7
http://download.opensuse.org/ports/armv7hl/tumbleweed/images/
Susemini.png
Version:
Leap 15.0 aarch64
http://download.opensuse.org/ports/aarch64/distribution/leap/15.0/appliances/
Susemini.png
Version:
Leap 15.0 armv7
http://download.opensuse.org/ports/armv7hl/distribution/leap/15.0/appliances/

And make your own SD card to boot on, with first bootloader (manufacturer specific), U-Boot (configured for your board) and a kernel (configured for your board) if openSUSE does not provide it.

root password for the openSUSE prebuilt images is linux

Bootstrapping a kernel using openSUSE chroot

openSUSE does not currently ship a cross-compiler for ARM. If you don't want to compile your own, you can use a chroot'ed openSUSE rootfs on your PC.

First, download the JeOS rootfs as explained above.

$ mkdir rootfs
$ sudo tar xJf openSUSE-*-ARM-*.tar.xz -C rootfs

Set up QEMU translation for ARM binaries:

# zypper in qemu-linux-user
# qemu-binfmt-conf.sh

Prepare the environment:

# mount --bind /proc rootfs/proc
# mount --bind /sys rootfs/sys
# mount --bind /dev rootfs/dev
# cp /etc/resolv.conf rootfs/etc/
# cp /usr/bin/qemu-arm* rootfs/usr/bin
# chroot rootfs

You can now run commands like you would on an ARM board, for example:

# zypper ref
# zypper up
# zypper in gcc make SDL-devel

Either obtain kernel sources using wget, git, etc. or copy into the rootfs from the host. Then compile like you would natively. Once you're done, type

# exit

and you're back in your previous filesystem.

And do not forget to umount proc, sys and dev:

# umount rootfs/proc
# umount rootfs/sys
# umount rootfs/dev

See also