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

Best linux distro to compile binaries for ASUSwrt?

SnakeByte

Regular Contributor
In the past I remember setting up a certain version of a certain linux distro that I could use to compile binaries that were compatible with DD-WRT. Is there a recommendation that works best with what Asus uses?

I see that uname -a shows:
Linux RT-AC68U 2.6.36.4brcmarm #1 SMP PREEMPT Sat Jan 11 15:06:52 EST 2014 armv7l GNU/Linux

which means it's using ARM, so I'm not sure there is a choice out there. If there isn't a good distro, can anyone point me in the right direction to correctly cross compile (Using linux, OSX, or windows)?

Thanks.
 
In the past I remember setting up a certain version of a certain linux distro that I could use to compile binaries that were compatible with DD-WRT. Is there a recommendation that works best with what Asus uses?

I see that uname -a shows:


which means it's using ARM, so I'm not sure there is a choice out there. If there isn't a good distro, can anyone point me in the right direction to correctly cross compile (Using linux, OSX, or windows)?

Thanks.

I use Mint 13 for all FW development, but you can also use Ubuntu 12.04, which is what Asus recommends. At least you'll know for sure that the toolchain Asus uses will work properly.
 
I'm on Gentoo. It requires a few work-arounds to work correctly, compared to Ubuntu.

Did you have much trouble with gmake? That seemed to be the most "fragile" part of the whole Asuswrt build environment.
 
Did you have much trouble with gmake? That seemed to be the most "fragile" part of the whole Asuswrt build environment.

Hasn't been an issue.

Mostly the issue is pkg-config detecting paths to host libraries that are different from the paths used by the firmware/Ubuntu. Also, Gentoo uses more up to date versions of autotools than Ubuntu. So a lot of the generated build files Asus includes get overwritten each time I build the firmware image.
 
Hasn't been an issue.

Mostly the issue is pkg-config detecting paths to host libraries that are different from the paths used by the firmware/Ubuntu. Also, Gentoo uses more up to date versions of autotools than Ubuntu. So a lot of the generated build files Asus includes get overwritten each time I build the firmware image.

Even Asus seems to be all over the place there. I see configure scripts generated from 2.65, 2.67, 2.68 and 2.69. And in at least one case (netatalk), Asus directly modified the configure scripts, which means every time I do a make clean, I have to restore their modified script. Wish I undertstood enough about autotools to actually move their changes to configure.ac (or wherever appropriate).
 
Thanks for all of the feedback.

Just so I'm clear, if I want to compile binaries for this ARM processor version of the router (ASUS RT-AC68U), I could:

1. Download Ubuntu 12.04 Desktop edition (32-bit Intel), load that as a VM (VMWare Workstation 10.x) guest.

2. Download a cross-compile toolchain so that I can make the appropriate native binaries.

What toolchain do you guys recommend? crosstool-ng? Sourcery CodeBench Lite? Or does ASUS provide a cross-compiling toolchain somewhere?
 
Thanks for all of the feedback.

Just so I'm clear, if I want to compile binaries for this ARM processor version of the router (ASUS RT-AC68U), I could:

1. Download Ubuntu 12.04 Desktop edition (32-bit Intel), load that as a VM (VMWare Workstation 10.x) guest.

2. Download a cross-compile toolchain so that I can make the appropriate native binaries.

What toolchain do you guys recommend? crosstool-ng? Sourcery CodeBench Lite? Or does ASUS provide a cross-compiling toolchain somewhere?

A VM works fine. I do all my development using a Virtualbox VM.

Asuswrt has its own toolchain. Personally I would reuse that, just to avoid any complication. You can find it in the source code under release/src-rt-6.x.4708/toolchains/ .
 
As rmermin said. Ubuntu or mint the best way to do it.
Mine is on ubuntu 12.04 LTS and so far there is no issues if you followed the setup environment guidelines.

The only caveat I have is that I cannot compile all the binaries for different versions/models at the same time as some of the folders are sharing folders.

My ubuntu is a parallel osx VM.
 
Where is ASUS hiding the source code for the RT-AC68U?

I can find source for other models like the N56U, but not for the AC68U.

Are they one and the same?

The AC56 is the same as the AC68, as they're both based on the same ARM platform.

Looks like all GPL releases for the AC68 were pulled yesterday. Might be a because they removed the older versions, but haven't published the new 374.583 yet.

You can also grab the toolchain from my Git repo.
 
The source for AC56 didn't have the same file structure as AC68, so I just waited for ASUS to put out their latest offering.

I tried using Fedora 9 (The distro I'm most familiar with), but that was a painful fruitless experience... someone should update the README in the tarball. Ubuntu 12 "just works."

Thanks again for your feedback.
 

Similar threads

Latest threads

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