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:
Tumbleweed (aka Factory)
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.
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
and you're back in your previous filesystem.