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 http://1024.cjb.net/archlinux/olinuxino/.
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/sdcor 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
- 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
- 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.
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.
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.