07.13
On this page you will find some information on setting up linux environment to cross compile AROS as ARM linux-hosted target. This small guide is valid for Ubuntu 12.04 LTS release (you can download it here). It has been tested on 32-bit x86 machine, but should also work on any other target. Of course, you can install Ubuntu in a virtual machine (like e.g. VirtualBox) if you, just like me, don’t have Ubuntu installed on your machine. If this is the case, choose the size of virtual hard drive with care – AROS build can eat a lot of space. You’ve been warned. Let’s start.
The Ubuntu distribution has a feature I really like – the support for foreign architectures. Depending on your needs you will have to enable either softfp or hard-float ABI. I will write elsewhere about them and their impact on AROS. Whichever you want to use, it has to match the underlying ARM system. In case of EfikaMX, you need to use softfp with Ubuntu maverick and hard-float with Debian. Here are the very few necessary steps to prepare cross compiler environment for:
ARM softfp:
sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel
ARM hard-float:
sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf
Of course, none stops you from installing cross compiler for both armel and armhf targets – they coexist very nicely. Since the build environment is ready, you have to configure AROS:
./configure --target=linux-arm --x-includes=/usr/include \
--enable-includes=/usr/arm-linux-gnueabi/include
for softfp ARM and
./configure --target=linux-armhf --x-includes=/usr/include \
--enable-includes=/usr/arm-linux-gnueabihf/include
for hard-float ABI, respectively.
Now, the AROS build is configured properly and all you need to do is:
make
Be patient, building AROS can take a minute or two. Have fun!