= Configuration = If you already have cross-compilers available, you may define yours in configuration files, see [InstallationNotes#Cross-compilationtools here]. = Get the sources = You will need gnu binutils, gcc and gdb. They are available on ftp.gnu.org or any gnu mirror. http://ftp.gnu.org/gnu/binutils, http://ftp.gnu.org/gnu/gcc, http://ftp.gnu.org/gnu/gdb Let's unpack sources: {{{ $ mkdir src $ cd src $ tar xjf ..../binutils-2.xx.tar.bz2 $ tar xjf ..../gcc-x.x.x.tar.bz2 $ tar xjf ..../gdb-x.x.x.tar.bz2 $ }}} == Compilation == Now lets compile. I assume we'll need to compile more toolchains later, so let's share the sources and compile in a separate directory: {{{ $ cd .. $ mkdir build build/mipsel build/mipsel/binutils build/mipsel/gcc }}} First, binutils {{{ $ cd build/mipsel/binutils $ ../../../src/binutils-2.x/configure --prefix=/where/to/put/it --target=mipsel-unknown-elf \ --program-prefix=mipsel-unknown-elf- --disable-nls $ make $ make install $ make -C bfd install_libbfd $ make -C libiberty install_to_libdir $ }}} Export the `bin` directory of your installation path, if not already in it. You should make this permanent by setting the PATH variable in a shell's startup script. {{{ $ export PATH=$PATH:/where/to/put/it/bin $ }}} Now gcc {{{ $ cd ../gcc $ ../../../src/gcc-x.x.x/configure --program-prefix=mipsel-unknown-elf- --prefix=/where/to/put/it \ --enable-languages=c --target=mipsel-unknown-elf --disable-nls --disable-werror --disable-libssp \ --disable-threads --without-headers $ make $ make install $ }}} Now gdb {{{ $ cd ../gdb $ ../../../src/gdb-x.x.x/configure --program-prefix=mipsel-unknown-elf- --prefix=/where/to/put/it \ --target=mipsel-unknown-elf $ make $ make install $ }}} We're done ! You may compile PowerPC toolchain as well, with the same lines, replacing `mipsel` by `powerpc`.