ArchlinuxARM support for the Olimex Olinuxino boards
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

ArchlinuxARM for the OLinuXino

Official support now available!

Please don't use these instructions anymore. ArchLinux ARM have included official support for the OLinuXino boards! Follow the official instructions to install alarm on your OLinuXino.

Legacy instructions below:

This repository includes packages needed to support ArchLinuxARM on the excellent OLinuXino boards made by Olimex along with a script to generate a modified rootfs. See below for prebuilt images. This is a work in progress!

There's also a repository for the packages, included in pacman.conf within the prebuilt image. The repository url is


The easiest way to put Archlinux ARM on your Olinuxino board is to use the prebuilt boot image and root file system.

  • Download the files.

  • Partition your sdcard. You need two partitions with the following layout:

              Device Boot      Start         End      Blocks   Id  System
      /dev/mmcblk0p1   *          16       31231       15608   53  OnTrack DM6 Aux3
      /dev/mmcblk0p2           31232     3842047     1905408   83  Linux

    Step-by-step instructions on how to achieve this partition layout can be found here.

  • Put the images on the sdcard. These instructions assume that the SD card is visible on your machine as /dev/mmcblk0. This may be /dev/sdc or somehting else completely, so please check before you run these commands. To put the boot image on the first partition, do (maybe as root):

    $ dd if=olinuxino-boot.img of=/dev/mmcblk0p1

    Next, extract the root file system onto the second partition (again, this may require root):

    $ mkfs.ext3 /dev/mmcblk0p2
    $ mount /dev/mmcblk0p2 /mnt/mmc # or somewhere else
    $ tar -C /mnt/mmc -xzf olinuxino-alarm-2012.07-rootfs.tar.gz
    $ umount /dev/mmcblk0p2
  • Put the sdcard into the olinuxino and power on! The default root password is root.

This Repository

Featured here:

  • PKGBUILDs for packages needed to support the Olinuxino boards, only Maxi is tested, but other iMX233 variants should boot smoothly too. The PKGBUILDs and accompanying files can be found under olinuxino/.
  • A script to generate a modified root file system, under scripts. Minor changes of system configuration packages are required to boot alarm properly on the board:
    • The console device is ttyAMA0 instead of ttyS0;
    • A custom rc script sets the MAC address of the eth interface;
    • The default locale is ISO-8859-1, 64MB of ram are not sufficient to generate UTF-8 locales. The workaround is to enable some swap for locale-gen.

Generating your own

Everything here works on an Archlinux ARM host. It should be possible to use the Olinuxino board itself, after installing the prebuilt rootfs, but this will probably be painfully slow. A qemu host with alarm or another ARM board would work much better.

The ArchlinuxARM website has guides on setting up distcc, and distcc with cross-compiling workers. The latter allows using your powerful workstations to do the heavy number crunching. According to alarm's devs, this approach is fine for testing and developing new stuff, but they always build their official packages natively.

For info on what PKGBUILD is and how to build your own packages, see the docs on the Archlinux ARM website, as well as the excellent documentation of the upstream distro


PKGBUILDs featured here use code from Freescale and code and patches from OSSystems and their Yocto layer for Olinuxino and code from ArchlinuxARM's repository. Those have their respective licenses. Everything else (i.e. the PKGBUILDs here) is public domain.