Italiano English
Modifica History Actions

CrossCompile

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 !