First, if you're not comfortable with a Unix command-line interface, stop immediately.
Execute dune_service_telnetd.dsf on the Dune, and telnet in. Login as root, no password needed. This telnetd will only survive until the next reboot. To make it persistent, create an empty file:
You can find the System Storage (if present) at /persistfs.
Next, install the CodeSourcery toolchain for MIPS processors. Specifically you want version 4.3-154 which is what the Dune has. (Doublecheck if this is still the correct version: on Dune, cat /proc/version.)
Now, you're ready to compile. If using GNU autoconf (and almost all Unix software does) you want something like:
./configure --prefix=$HOME/dune-install --build=i686-pc-linux-gnu --host=mips-linux-gnu CFLAGS="-EL -march=74kf2_1 -mdspr2" make install
Then poke around $HOME/dune-install and copy the appropriate file(s) to the Dune.
One time (e2fsprogs) I had to add LDFLAGS="-EL -march=74kf2_1 -mdspr2" to the ./configure line.
Sigma-specific Linux kernel sources are available from Dune and might be needed (to compile kernel modules, for example).
The DSF file can also be a compiled program.
Even better, use makeself to create a self-extracting archive containing scripts, binaries, etc. With this, you could automate the process of installing software onto the Dune.
This is how I made my rsync installer.