What's new

How to compile customized code for AsusWRT/Merlin?

  • 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!

evilroach

New Around Here
Hi!
I'm a fresh-man with Asuswrt/Merlin, and
I need run MLVPN on a RT-AC68U( https://zehome.github.io/MLVPN ).

Although I have successfully built a Merlin image for my RT-AC68U, I still have no idea about adding/merging customized code into it.

Is there any doc for it?
Any help/hint will be appreciated.
Thanks!
 
Last edited:
It's not something that can be documented. You basically have to know how to program in C.
I am very honored to receive a reply from the leading developer of Merlin!!!

Yes, I'm a C/C++ programmer, and has coded some little programs for OpenWRT.
I want to try it, maybe I can contribute some little docs.
Would you please offer some clues about coding a "HelloWorld" program for Merlin or is there some doc about how to use the SDK?
 
I am very honored to receive a reply from the leading developer of Merlin!!!

Yes, I'm a C/C++ programmer, and has coded some little programs for OpenWRT.
I want to try it, maybe I can contribute some little docs.
Would you please offer some clues about coding a "HelloWorld" program for Merlin or is there some doc about how to use the SDK?

I can't, sorry. There's no actual documentation because for the SDK itself, Broadcom only provides it under NDA to their OEMs, so pretty much has to be figured out "on the fly". Also, unlike OpenWRT, Asuswrt isn't really designed to be extended by third parties. Most of the firmware uses a very monolithic design, all the core build recipes reside within router/Makefile. There is no SystemV-like service architecture, and additional components must be manually integrated within the rc init process. There is no real "build environment" like OpenWRT does with its package system.

Best you can do is to familiarize yourself with the existing architecture, and go from there. Just be prepared to having to do a lot of guessing and experimenting. The code isn't really documented either, and things are in a constant state of flux over releases from Asus. And also an increasing amount of code is being moved to closed source components, limiting some of the things you can do. Some kernel options for instance cannot be changed, as they would break compatibility with the precompiled kernel modules.
 

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

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