Learning by developing

...because practice teaches you

Main resource to carry the compilation out:



Steps done to carry the compilation out:


Install Ubuntu libraries:

$ sudo apt-get install g++ libncurses5-dev libncurses5 zlib1g-dev zlib1g gawk flex build-essential


Note: You can execute all 3(next) first steps in a row with

“$ svn co svn://svn.openwrt.org/openwrt/branches/backfire && cd backfire && make menuconfig”


0nd. Step into the directory you want to have the “backfire” or the SDK.

1st. Get the latest “backfire” from the svn repository:

$ svn co svn://svn.openwrt.org/openwrt/branches/backfire




2nd. Access the downloaded directory:

$ cd backfire.



$ ./scripts/feeds update -a && ./scripts/feeds install -a


4th. Execute the configuration menu:

$ make menuconfig.


5th. In our case, the TP-link tl-mr3220/tl-mr3420 uses an atheros chipset. To simplify this we will install, anyway, all the wireless drivers by default included and select the target system to:

–> System: Atheros AR71xx/AR7240/AR913x

OPTIONAL – Select also:

–> [*] Build the OpenWrt SDK

–> [*] Build the OpenWrt based Toolchain


SPECIAL NOTE: In order to save time I recommend to carry the steps 5 and 6 at the same time and go for a coffee or something with good company and without carying much about the time you spend.

$ make package/symlinks V=99 && make download world V=99


6th. Add the “packages” to build environment. This command downloads all the Makefiles for the extended packages of the system and they will appear if we do a “make menuconfig” afterwards. This might take a little while.

$ make package/symlinks V=99


7th. Tell the system to download the sources needed and compile all the packages:

$make download world V=99


That was all for now :).


Have a nice week!



Leave a Reply