Home Wiki > openSUSE:OpenSUSE on your ARM board
Sign up | Login

openSUSE:OpenSUSE on your ARM board

tagline: From openSUSE

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 (armv6-rootfs or armv7-rootfs) available at:

Leap 42.2

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 from the openSUSE:Factory:ARM images repository:

$ wget http://download.opensuse.org/ports/armv7hl/factory/images/openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l-Current.tbz
$ sha256sum openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l-Current.tbz
$ mkdir rootfs
$ sudo tar xvjf openSUSE-Tumbleweed-ARM-JeOS.armv7-rootfs.armv7l-Current.tbz -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.

See also