What's new

MerlinWRT - compile instructions?

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Can someone please give me some guidance how we can download the stable version of Merlin from Git-hub in stead of the latest alpha alpha version?

Thanks...
 
Can someone please give me some guidance how we can download the stable version of Merlin from Git-hub in stead of the latest alpha alpha version?

Thanks...

Checkout from the 384.6 tag.
 
Can one of the guru's on this forum post the necessary path changes or whatever is needed in order to compile the CFE?
When I read the readme file in the CFE folder, it says to basically compile when going to the bcm947xx folder and type ... make all
However, I get ....

/bin/sh: arm-uclibc-linux-2.6.36-gcc: command not found
dirname: missing operand

Your help is greatly appreciated....
 
Can one of the guru's on this forum post the necessary path changes or whatever is needed in order to compile the CFE?
When I read the readme file in the CFE folder, it says to basically compile when going to the bcm947xx folder and type ... make all

these days - one probably shouldn't muck around that much with the CFE without knowing exactly what's going on down there - this isn't a click and push these days...

One can end up with an expensive brick - there's been more than a few on the forums here...
 
I am sorry to repeat my question.
I am still looking for help in compiling my own CFE.
The exact path where the instruction "make all" must be executed is..

~/asuswrt-merlin.ng/release/src-rt-6.x.4708/cfe/build/broadcom/bcm947xx

Can someone please help with the correct setup?

Fitz Much, you did such a great job with the Merlin Compile! Can you help me out here as well please?

Thanks..
 
I am sorry to repeat my question.
I am still looking for help in compiling my own CFE.
The exact path where the instruction "make all" must be executed is..

~/asuswrt-merlin.ng/release/src-rt-6.x.4708/cfe/build/broadcom/bcm947xx

Can someone please help with the correct setup?

Fitz Much, you did such a great job with the Merlin Compile! Can you help me out here as well please?

Thanks..
Could be another thing that ASUS never cleanup and never gets compiled because the CFE is mostly a pre-compiled, compressed, encrypted binary blob? If you want to keep digging, consider looking at the top-level makefiles, as this may tell you whaat's going on.
 
I would like to start a new thread regarding a total new modular firmware design from scratch.... any votes for it?

You can actually make a modular build yourself by modifying the target.mak file and the config.in file for the most part. Also the router/Makefile plays a role and other files if you dig deeper. You can modify linux kernel as well to a certain extent. But those are the main files you will be dealing with for modular design. Definitely not as modular as OpenWRT though but to a certain extent you can exclude features. If for instance you attempt to exclude BWDPI (TrendMicro DPI engine and iQoS and Parental Control) from the build by changing BWDPI=y to BWDPI=n you will run into build problems. Mainly because some of the precompiled binary files from ASUS attempt call functions etc from outside the binary file. This poses problems attempting to exclude TrendMicro from the your final firmware. This is just one example where you would most likely not be able to exclude something from the build. There are many other things you can exclude such as FTP, Transmission, TOR, Wtfast, Captive portal, DNSSEC, nano, etc which will significantly reduce the overall size of your final firmware build. You can mainly tinker with the target.mak file to see which features you can exclude. Trial and error really. Although, I've found that I can exclude less features as time goes on since ASUS keeps making more and more of their code closed source.

I recently built a modular build and ended up with my firmware build being around 27 mb. I probably could have trimmed that to around 24 mb or so. But a little less than a year ago I was able to reduce my build down to around 7mb. But again, you won't get your build that small or as modular anymore with all the changes ASUS has been doing to their source code.

Also huge thanks to Fitz Mutch for providing that build script. Will help me next time I need to make a new build environment. I'm currently using Zorin OS (virtual machine) as my build environment but have used Ubuntu as well as Mint distros to build ASUS firmware.
 
Last edited:
i tried to build the latest master branch for RT-AC3200. i got an error about missing aclocal-1.15. i checked this and i have installed 1.16 version, aclocal is working fine. will creating some link help in this case?
this happens in wget folder under router...

Also huge thanks to Fitz Mutch for providing that build script.

and ya it is on Ubuntu 18.10. fully updated to latest.
 
Last edited:
i got an error about missing aclocal-1.15
Do «autoreconf -f -i» in directory with problematic library/module, then try to recompile. I've finally done compiling and building RT-N66U 380.69_2 build (initial goal was to add 'service-event' jffs script support same way as introduced in 384.5 NG). I successfuly used this script with ubuntu server 18.10 x64, but some manual work in autoconfig files and sources was needed here and there.
 
Last edited:
With the Fitz Mutch script I was able to compile asusMerlin for AC86U, comparing the compiled file has exactly the same size in bytes as the one published by RMerlin, I think it's a good sign that everything went well.

Then compile asus Stock for AC86u, but the size of the compiled file is 131,072 bytes smaller than the one published on the asus page. The question is...
Should it be the same size in bytes, the compiled file and the one on the page?
If the answer is yes, what are the steps would have to change the Fitz Mutch script to compile the gpl asus stock?
 
With the Fitz Mutch script I was able to compile asusMerlin for AC86U, comparing the compiled file has exactly the same size in bytes as the one published by RMerlin, I think it's a good sign that everything went well.

Then compile asus Stock for AC86u, but the size of the compiled file is 131,072 bytes smaller than the one published on the asus page. The question is...
Should it be the same size in bytes, the compiled file and the one on the page?
If the answer is yes, what are the steps would have to change the Fitz Mutch script to compile the gpl asus stock?

I updated the router with the file I got from compiling the GPL code of ASUS RT-AC86U for firmware 3.0.0.4.384.45713
So far it is working correctly.

I do not know why it's 131,072 bytes lower than the one posted on the asus page.... but it's working
 
I updated the router with the file I got from compiling the GPL code of ASUS RT-AC86U for firmware 3.0.0.4.384.45713
So far it is working correctly.

I do not know why it's 131,072 bytes lower than the one posted on the asus page.... but it's working

I don't know if it's still the case, but in the past Asus's GPL were typically missing at least two exes (arpstorm, and another which I forgot) that are part of networkmap, tho not used by the firmware. The dhd userspace tool is also sometimes missing from the GPL (again, unsure if that's still the case).
 
I don't know if it's still the case, but in the past Asus's GPL were typically missing at least two exes (arpstorm, and another which I forgot) that are part of networkmap, tho not used by the firmware. The dhd userspace tool is also sometimes missing from the GPL (again, unsure if that's still the case).
Maybe that is the reason of the difference of bytes, with your answer I am calmer.
thank you

Enviado desde mi SM-J730G mediante Tapatalk
 
I successfully built an RT-AC86U firmware with these script.

I keep getting "aclocal-1.15 is missing on your system" error. Running autoreconf -f -i didn't help
 
I keep getting "aclocal-1.15 is missing on your system" error. Running autoreconf -f -i didn't help
You need to install automake-1.15 on your system. For example, with Ubuntu 20.04:

Code:
sudo apt install automake-1.15
 
@RMerlin The build completed successfully, but QoS doesn't work. I used the latest master merlin.ng source straight out of the git repo, no extra patch or mod. So was it because of the recent code changes or is there patch needed for it to work?
 

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top