I always used to provide the ARM toolchain that CodeSourcery and later MentorEmbedded releases every half a year. The last release is from May 2014 and has not received any updates ever since. Upon logging into their member area stated that these are not being developed anymore. This means that I won’t be providing ARM toolchains in the future for download. The latest release will remain available on my downloads page just in case it’s needed.
I normally build my kernels using Ubuntu and they provide toolchains themselves for a couple of years now. At least they didn’t when I started crosscompiling and is the reason I’ve been using these MentorEmbedded toolchains for years.
On Ubuntu it can be installed for armel using:
apt-get install gcc-arm-linux-gnueabi u-boot-tools
For armhf it’s:
apt-get install gcc-armhf-linux-gnueabi u-boot-tools
If you are compiling on a 64-bit system, the following 32-bit libraries are needed as well:
apt-get install lib32z1 lib32ncurses5
To actually cross-compile something like the following settings can be used:
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
export INSTALL_MOD_PATH=~/kernelmodules
You will need to create the kernelmodules directory in the homedir of the user you are building in. Something like this will do:
mkdir ~/kernelmodules
And from here you can proceed cross-compiling like you’re used to. This process is actually easier to use than the toolchains from Mentor as any updates in the toolchain that Ubuntu may publish can be installed using APT.
These days (year 2016) it is better policy to use the Linaro toolchains. Linaro is committed to supporting the ARM toolchains for Android, Linux and bare metal for the long term. For example:
http://releases.linaro.org/components/toolchain/binaries/5.1-2015.08/arm-linux-gnueabihf/gcc-linaro-5.1-2015.08-x86_64_arm-linux-gnueabihf.tar.xz
Which is the default ARM toolchain use inBuildroot 2015.11. This toolchain will build Linux kernels from 4.1 onwards. For earlier kernel versions you can use one of the older Code Sourcery toolchains or an older Linaro GCC 4.7 toolchain.