This is were the fun gets funnier. The existing packages usually have many of the applications you can think of to put in a small router. But, as you use your customizable router, you might start thinking about good tasks that your router should perform.
The first things you need to do are downloading and untar-ing the OpenWRT SDK. For this, you need to know which of the different versions of SDK you need to download. This could be trivial for some people, but it was not for me at the beginning, so this might help some of you. Quoting from a post found in a Linux forum, the following are the different versions you will find for the SDK, and you can select yours according to the description:
“Basically, the different kernel designations identify which instruction set the compiler was told to optimize for. An i686 CPU can run i586 and i386 instructions, so, as you observed, an i686 can run an i386 kernel. However, it may not execute as optimally as one specifically compiled for an i686.
These are the designations you will typically run into:
* AMD’s Athlon 64, Athlon 64-FX, and Opteron
* Intel EMT64 processors – Nocona Xeon, Pentium 4′s using the E0 revision of the Prescott core (AKA Pentium 4, model F)
* All Intel 32-bit Pentiums (excluding Pentium 1 and Pentium MMX)
* All AMD 32-bit Athlon
* All 32-bit AMD Ks
* Pentium 1
* Pentium MMX
* A generic “lowest common denominator” designation for Intel 80386 compatible CPUs (includes all of the above, but does not take advantage of extended instructions on those later CPUs).”
As I’m using WhiteRussian, I will download the SDK from here:
Now, this is the OpenWrt link to create and build your own package:
The above tutorial could be too much for people starting in this idea of flashing routers, like me. It shows all the options available to create and install packages, but the authors supposed you were building a whole new big package. So, they assume your code is located under a URL, and is based on tons of files and makefiles. This is not what I was looking for, at least not at the beginning. So, I finally could find the tutorial that worked for me, here:
This is the most complete tutorial for creating packages I’ve found that has been designed for people willing to start from zero. The point is that the tutorial shows how to create a package for a simple helloworld. So, your only source is a C file with 6 lines of code. At the end, you have your own hello world! running in your router. From that, you can start building your desired functionalities.