Quick start on setting up a armhf chroot on an armel system
First it is necessary to debootstrap the chroot. It is necessary to tell debootstrap what archive to use and (unless you have the debian-ports-archive-keyring on your host system) you will also need to tell it to install without checking the gpg sig
debootstrap --no-check-gpg --arch=armhf sid /chroots/sid-armhf ftp://ftp.debian.org/debian/
Now chroot in, and mount proc as normal.
chroot /chroots/sid-armhf mount -t proc proc /proc
At this stage it is recommended to create a /usr/sbin/policy-rc.d to prevent daemons from starting up in the chroot. The file shuold be chmod 755. The following contents works fine (taken from pbuilder).
echo "************************************" >&2 echo "All rc.d operations denied by policy" >&2 echo "************************************" >&2 exit 101
Next you must edit /etc/apt/sources.list as the one generated by debootstrap is unusable. The list below covers both binary and source for armhf. "Unreleased" is needed to install linux-libc-dev and hence build-essential.
deb http://ftp.debian.org/debian sid main deb-src http://ftp.uk.debian.org/debian sid main deb http://ftp.debian.org/debian unreleased main deb-src http://ftp.debian.org/debian unreleased main
After editing source.list run apt-get update, install debian-archive-keyring (you will get a signature check warning at this stage) apt-get update again (since apt doesn't seem to recheck signatures until you apt-get update) and you should be able to install build-essential as normal.
