Cross Compile Software Sources for Linksys WRT54G
First of all I assume you know how to compile normale stuff for the x86 architecture... so I'm not going deep into that.
In this document we are going to see how to cross compile software for the mipsel architecture, to make it run on the Linksys WRT54GL router.
I used Freifunk Firmware and OpenWRT Firmware to test this stuff, any version should be fine
Install the compiler
First of all we need a compiler for such architecture, so grab a shell on your linux box and download the following
cd ~ wget ftp://ftp.linksys.com/opensourcecode/wrt54gl/4.30.9/WRT54GL_v4.30.9_US.tgz tar -zxvf WRT54GL_v4.30.9_US.tgz
Please note that this compiler will produce binaries executable on the WRT54G router, but not on the Fonera. If you know that compiler should be used for the Fonera please update this Wiki
Now we have to add there new tools to out path
export PATH="~/WRT54GL_4_30_9_1101_US/tools/brcm/hndtools-mipsel-linux/bin:~/WRT54GL_4_30_9_1101_US/tools/brcm/hndtools-mipsel-uclibc/bin:$PATH"
Congratulation, you installed the compiler
Compile lastest version of OLSR
Install the compiler as in the first section of this page
Now lets get the newest OLSR sources
cd ~ wget http://www.olsr.org/releases/0.5/olsrd-0.5.0.tar.bz2 tar -jxvf olsrd-0.5.0.tar.bz2
please note that file names may slighly change over time
now edit the followgin Makefile olsrd-0.5.0/make/Makefile.linux and add
CC=mipsel-uclibc-gcc
Cool, now just
make make libs
and you have your mipsel binaries copy the olsrd binary and the libs to the WRT54G manually with scp
Please not that using the original libs plugin files compiled against olsrd-0.4.10 will cause olsrd-0.5.x to segmentain fault
Compile lastest version of BATMAN
TODO:
Sources are here
svn co https://dev.open-mesh.net/svn/batman/trunk/batman/
BATMAN Makefile already provides tools for compile in mipsel architecture, assuming you have the OpenWRT SDK tools installed, as soon as I understand how it works I'll update the wiki Or someelse will do it before me!
Compile lastest version of RASTA
Install the compiler as in the first section of this page
Get the source code of RASTA with svn
cd ~ svn co https://minerva.netgroup.uniroma2.it/svn/rastayaqosa/rasta/trunk rasta
add in the Makefile proper compiler
CC=mipsel-uclibc-gcc
Now just Make !