Finding the right image
There are many single-board computers on the OpenSuSE hardware-compatibility list (HCL), including:
A lot of them have ready to go images, often for Tumbleweed, however none of the pages explain the below image differences hence the one-line for each:
- JeOS – Just Enough Operating System (JeOS, pronounced “juice”) is a paradigm for customizing operating systems to fit the needs of a particular application such as for a software appliance.
- E20 – Enlightenment, also known simply as E, is a compositing and stacking window manager for the X Window System…. The current version is E20.
- XFCE – Xfce (pronounced as four individual letters)[3] is a free and open-source desktop environment for Unix and Unix-like operating systems.
- LXQT – Qt port of the full LXDE suite; LXDE (abbreviation for Lightweight X11 Desktop Environment) is a free desktop environment with comparatively low resource requirements.
- X11 – regular X Windows System based distribution.
Since I wanted a headless system, JeOS was what I needed.
As it wasn’t available for my ODroid C1+ but was for my Raspberry Pi 2 and as my main machine is a 15″ Retina MacBook Pro Late 2013 [WayBack] below are the steps I used to get the image working.
Installing the Raspberry Pi 2 image using OS X
The below Raspberry Pi2 link will redirect to the correct image in the generic download directory http://download.opensuse.org/repositories/devel:/ARM:/Factory:/Contrib:/RaspberryPi2/images/
For other Raspberry Pi versions, you can find them here:
I installed on a 8 gigabyte SD card that revealed itself as /dev/disk1 using this diskutil command (via osx – List all devices connected, lsblk for Mac OS X – Ask Different [WayBack])
diskutil list
So this wrote the image to SD card in a sudo su - prompt:
targetDevice="disk2"
unxz --keep openSUSE-Tumbleweed-ARM-JeOS-raspberrypi2.armv7l-2016.08.20-Build2.1.raw.xz; \
diskutil umount "/dev/${targetDevice}s1"; \
dd bs=1m of="/dev/r${targetDevice}" if=openSUSE-Tumbleweed-ARM-JeOS-raspberrypi2.armv7l-2016.08.20-Build2.1.raw; \
sync; \
diskutil list; \
diskutil eject "/dev/${targetDevice}"
or if you want to select which image to “burn”:
targetDevice="disk2"
imageName="openSUSE-Tumbleweed-ARM-JeOS-raspberrypi2.armv7l-2016.08.20-Build2.1.raw"
imageName="openSUSE-Tumbleweed-ARM-JeOS-raspberrypi.armv6l-2016.11.23-Build2.22.raw"
imageName="openSUSE-Tumbleweed-ARM-JeOS-raspberrypi3.aarch64-2017.01.12-Build3.2.raw"
unxz --keep ${imageName}.xz; \
diskutil umount "/dev/${targetDevice}s1"; \
dd bs=1m of="/dev/r${targetDevice}" if=${imageName}; \
sync; \
diskutil list; \
diskutil eject "/dev/${targetDevice}"
A few notes:





