Update: Use this URL if your wget won’t resolve https connections: http://feeds.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv7a/base/
The environment that has worked very well for me is to compile on-board (not cross-compiling) for anything small (see tip #2 below for how to get a compiler easily). That usually just works, is fast enough, and simplifies things a lot. When I need to compile something big, I’ve used distcc to get my desktop to help (over wifi). Below is an email from another guy in our lab who wrote down how to get that to work.
There’s a few other big tricks I’ve used.
1) If you’re using wifi, I wrote an article about getting that to work here: http://abarry.org/gumstix-wifi-wlan1-link-not-ready/
2) Add more repositories to the package manager. The default one barely has anything in it, but the main angstrom repo has a lot of stuff (much more like using apt-get) Again, this will only work with a network connection, but I think you can get a board that will give you that.
Page about it: http://gumstix.org/add-software-packages.html
Here’s the relevant part:
By default, opkg uses the Gumstix repositories defined in the configurations files found under /etc/opkg/. This repository, however, does not contain all the packages you can build using OpenEmbedded. For example, we can add the armv7a base·Angstrom Distribution repository to our list of repositories.
$ opkg list | wc -l 17698 $ echo 'src/gz angstrom-base http://www.angstrom-distribution.org/feeds/unstable/ipk/glibc/armv7a/ base' > /etc/opkg/angstrom-base.conf $ opkg update ... $ opkg list | wc -l 21755
I highly recommend doing that. It made my life much simpler by allowing me to just install things like a compiler, etc.
to get to the cross compiler setup environment according to:
the cross compiler would then be in:
To get distcc to work, I followed the distcc part of these instructions:
The only other critical step was to create a symbolic link from the cross-compiler location to
Then to have Make to use distcc on the gumstix you need to do is set three environment variables:
export CC="distcc arm-angstrom-linux-gnueabi-gcc" export CXX="distcc arm-angstrom-linux-gnueabi-g++" export DISTCC_HOSTS="ip-of-desktop"