The first stable release of openSUSE for ARM has just been announced. openSUSE 12.2 for ARM is officially available for the Beagleboard, Beagleboard xM, Pandaboard, Pandaboard ES, Versatile Express (QEMU) and the rootfs can be mounted with chroot, but “best effort’ ports have been made for Calxeda Highbank server, i.MX53 Loco development board, CuBox computer, Origen Board and Efika MX smart top.
Work is also apparently being done on a Raspberry Pi port which should be available for the next release.
openSUSE developers explains that almost all of openSUSE builds runs on these platforms (about 5000 packages). Visit “OpenSUSE on your ARM board” for download links and instructions for a specific ARM board. More details are available on the wiki page. openSUSE has limited resources for ARM development, so If you’d like to help with development (e.g. fixing builds), visit ARM distribution howto page to find out how to get involved.
Since I don’t own any of the supported boards, but still want to give it a try, I’ll use the chroot method in a virtual machine running Ubuntu 12.04. There are two images available:
- JeOS (Just Enough Operating System) image for a minimal system (openSUSE-12.2-ARM-JeOS-rootfs-*.tbz )
- XFCE image for a graphical system (openSUSE-12.2-ARM-XFCE-rootfs-*.tbz)
Let’s go for the XFCE image (743 MB):
1 2 3 4 |
mkdir -p ~/openSUSE-ARM/rootfs cd ~/openSUSE-ARM/ wget http://download.opensuse.org/ports/armv7hl/distribution/12.2-untested/appliances/openSUSE-12.2-ARM-XFCE-rootfs.armv7l-1.12.1-Build1.46.1.tbz sudo tar xvjf *.tbz -C rootfs |
after installation, prepare the environment and run chroot:
1 2 3 4 5 6 7 |
sudo mount --bind /proc rootfs/proc sudo mount --bind /sys rootfs/sys sudo mount --bind /dev rootfs/dev sudo mount --bind /dev/pts rootfs/dev/pts sudo cp /etc/resolv.conf rootfs/etc/ sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin/ sudo chroot rootfs |
We can now run some commands to show we run openSUSE (zypper is the equivalent of apt-get in SUSE):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
VBOXUBUNTU:/> zypper ref Retrieving repository 'openSUSE-12.2-ARM-Repo-OSS' metadata... Building repository 'openSUSE-12.2-ARM-Repo-OSS' cache ...................[done] Retrieving repository 'openSUSE-12.2-ARM-Updates' metadata ..............[error] Repository 'openSUSE-12.2-ARM-Updates' is invalid. [|] Valid metadata not found at specified URL(s) Please check if the URIs defined for this repository are pointing to a valid repository. Skipping repository 'openSUSE-12.2-ARM-Updates' because of the above error. Some of the repositories have not been refreshed because of an error. VBOXUBUNTU:/> zypper up Retrieving repository 'openSUSE-12.2-ARM-Updates' metadata ..............[error] Repository 'openSUSE-12.2-ARM-Updates' is invalid. [|] Valid metadata not found at specified URL(s) Please check if the URIs defined for this repository are pointing to a valid repository. Warning: Disabling repository 'openSUSE-12.2-ARM-Updates' because of the above error. Loading repository data... Reading installed packages... Nothing to do. VBOXUBUNTU:/> zypper in gcc make SDL-devel Retrieving repository 'openSUSE-12.2-ARM-Updates' metadata ..............[error] Repository 'openSUSE-12.2-ARM-Updates' is invalid. [|] Valid metadata not found at specified URL(s) Please check if the URIs defined for this repository are pointing to a valid repository. Warning: Disabling repository 'openSUSE-12.2-ARM-Updates' because of the above error. Loading repository data... Reading installed packages... 'SDL-devel' not found in package names. Trying capabilities. Resolving package dependencies... The following NEW packages are going to be installed: alsa-devel fontconfig-devel font-util freetype2-devel gcc gcc47 gccmakedep glibc-devel imake libdmx-devel libdrm-devel libdrm_nouveau1 libdrm_omap1 ... Mesa-libGLU-devel Mesa-libIndirectGL1 python-xcb-proto-devel site-config xbitmaps-devel xcb-util-devel xorg-cf-files xorg-sgml-doctools xorg-x11-devel xorg-x11-proto-devel xorg-x11-util-devel xtrans zlib-devel 119 new packages to install. Overall download size: 15.9 MiB. After the operation, additional 78.3 MiB will be used. Continue? [y/n/?] (y): y Retrieving package Mesa-libGLESv1_CM1-8.0.4-20.4.2.armv7hl (1/119), 28.7 KiB ( 29.5 KiB unpacked) Retrieving: Mesa-libGLESv1_CM1-8.0.4-20.4.2.armv7hl.rpm ......[done (7.5 KiB/s)] Retrieving package Mesa-libGLESv2-2-8.0.4-20.4.2.armv7hl (2/119), 27.4 KiB ( 21.5 KiB unpacked) Retrieving: Mesa-libGLESv2-2-8.0.4-20.4.2.armv7hl.rpm .......[done (29.0 KiB/s)] Retrieving package Mesa-libIndirectGL1-8.0.4-20.4.2.armv7hl (3/119), 766.1 KiB ( 3.0 MiB unpacked) .... Installing: Mesa-devel-8.0.4-20.4.2 ......................................[done] Installing: xorg-x11-devel-7.6-37.1.2 ....................................[done] Installing: libSDL-devel-1.2.15-2.1.2 ....................................[done] |
There seems to be some problems with some repositories, but it basically works. I’ve tried to run startx, but it does not work within the chroot (probably because Xorg does not work in QEMU yet). It’s also possible to use the JeOS image (minimal) using QEMU emulating a Cortex A9 or A15 versatile express board.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Can you copy the .Xauthority file from you pc to rootfs directory and launch X session 🙂