svn co svn://svn.dd-wrt.com/DD-WRT .
3. Create a little script
#path to bin of extracted toolchain for this target
#.config_ac contains lots of features, strip it down remove features as compiling everything takes a lot of time and requires lots of host tools from your distro, you want to avoid these problems in the beginning
# compile them once to make sure these binaries work on your distro, then comment them as I did
#gcc strip.c -o ./strip
#gcc write3.c -o ./write3
#gcc write4.c -o ./write4
make -f Makefile.brcm3x configure
make -f Makefile.brcm3x clean all install
since I don't need the trx tool for asus as I don't build it I just commented it, you can just compile it if you need it.
# cd $(ARCH)-uclibc && ../tools/bufenc/makefw.sh dd-wrt.v24-K3-nandboot
same here this is not in svn and only needed to create special buffalo builds
If I did not forget anything you should be able to call the script in order to start compiling.
As I just copied and pasted the lines from my script it is possible I have done a typo etc. Thus it is possible, that you get an error.
If you hit compile problems, check these things:
-look at the output closely, maybe your are missing, developer packages on your linux install
-if a package doesn't compile it may not be configured properly, thus go into ~/DEV/src/router and configure the package the failing app or dependencies by hand "make -f Makefile.brcm3x <app>-configure"
Beware, there is no guarantee, that a compiled image actually runs without a hitch. I have seen problems such as buggy host tools like ccache mess up the compilation and cause kernel crashes etc..
Last words, if you think it was difficult to findout this out then look at my personal difficulty rating from 1-10:
1. Setting up basic environment for compiling
2. adding new packages
3. adding new settings
4. modify webif
5. finding a simple bug
6. porting a device that is similar to already supported device
7. finding a complex bug
8. add a few patches to the kernel
9. fix kernel bugs
10. add support for a completely new architecture, that is not supported by the kernel
Now if you feel like you want to do this, try it out document any problems ask if you have trouble. Hopefully someone write up a complete guide and add it in the wiki. Again don't hammer us with noobish questions, don't try this if you have no development experience.
Last edited by <Kong> on Sat Nov 29, 2014 22:25; edited 1 time in total