Here's how to build the cross compiler tools for Linux. Please send feedback to imp@village.org
The configuration name for Linux MIPS is currently mipsel-unknown-linuxelf. Some of the developers prefer the shorthand of mipsel-linuxelf. The former follows the FSF conventions to the letter, while the latter follows the traditional linux conventions. The port currently is dominated by little endian machine developers. There is also support for big endian by replacing mipsel- with mips- in the above strings. I have followed the traditional linux conventions in this document.
Worst case this process requires about 150M of disk space. This will settle down to a mere 20M if you delete most of the sources once you have built them. This space requirement is exclusive of the kernel itself and the other programs that you may wish to build.
Currently, you will need to grab binutils 2.6 and gcc 2.7.2. Unfortunately, these do not work out of the box. A patch for binutils and a patch for gcc are needed.
You also need to grab the current libc for some parts of the build. Unfortunately, the latest snapshot of the library is included in the glibc 951212, an older snapshot of the library, is available from fnet, and it should be sufficient.
You will need about 12.5M (45M if you grab the root disk) of disk space for the raw .gz files alone. A 28.8 modem can grab about 6M/hr. A 14.4 about 3M/hr. A 56k line about 12M/hr. A T1 can grab about 275M/hr. 2400 baud is right out.
This will require about 35-40M of disk space. Plus an additional 10.5M of space to install the binaries. On a 486DX2-66 it took about 15 minutes to build and install.
(some machines require a --host x-y-z at this stage. FreeBSD 2.0 is the only known one so far, but there may be others).
At this stage you may want to change the dir that these files install into. By default they install into /usr/local/. If you'd rather them go into someplace else, add --prefix /some/place/else to the above command line. If you don't, you will need to be root to install, in all likelyhood.
This may need to be done as root. By default it will create a /usr/local/mipsel-linuxelf directory with bin and lib in it. In bin will be things like as, ar, nm, strip, ld, etc. In lib initially there will just be ldscripts. It will also create mipsel-linuxelf-{as,ld,etc} in /usr/local/bin. Some libraries are installed in /usr/local/lib.
After you have installed binutils, you may safely delete the sources. You will likely not need them.
This will take 2.2M of disk space on a permanant basis. You will need to do this in order for the cross compiler to finish compiling correctly!
This step will require 43 M in disk. 6 M of disk is required to do an installation. It takes about 30 minutes to build on a 486DX2-66.