[Cerowrt-devel] Build instructions for regular OpenWRT with Ceropackages

Mikael Abrahamsson swmike at swm.pp.se
Tue Jun 30 06:58:28 PDT 2015


On Mon, 29 Jun 2015, dpreed at reed.com wrote:

> I would love to try out cake in my environment.  However, as a 
> non-combatant, it would be nice to have an instruction sheet on how to 
> set the latest version up, and what hardware it works best on 
> (WRT1200AC?).  Obviously this is a work in progress, so that will 
> change, but it would be nice to have a summarized wiki page.

WRT1200AC seems to be the most powerful around, however it can't really be 
used for PHY 100M testing since both SoC ports goes to a switch that then 
terminate all the external ports. Therefore it's hard to test 
AQM-on-metal with it because the SoC links are never saturated, you always 
have to use an encompassing shaper (htb).

Here is a short writeup from what I learnt from the past days. I haven't 
verified every step, this is from memory.

Get ubuntu 14.04 LTS according to:

http://www.acme-dot.com/building-openwrt-14-07-barrier-breaker-on-ubuntu-and-os-x/

Check out either trunk ("git clone git://git.openwrt.org/openwrt.git") or 
Chaos Calmer RC ("clone git://git.openwrt.org/15.05/openwrt.git").

Copy feeds.conf.default to feeds.conf in the openwrt dir. Add first in 
file:

"src-git cero https://github.com/dtaht/ceropackages-3.10.git"

scripts/feeds update -a
scripts/feeds install luci luci-app-sqm sqm-scripts tc-adv ip ethtool kmod-sched-cake kmod-sched-fq_pie

make menuconfig

Now comes the hard part because you want to change * for everything that 
you want to install as default in the resulting image. M means it compiles 
the package but doesn't include it in the resulting image (for utilities). 
What the above does is only to make it available to "make menuconfig" as 
packages. I tend to choose traceroute, tcpdump and all the other nice to 
have utilities. You can download and use 
<http://swm.pp.se/aqm/wrt1200ac.config> (it's for trunk, ie the nightly, 
don't know if it works for CC RC2) and put as .config in the openwrt 
directory as a template.

I recommend to build on a fast machine with SSD, i/o is usually the 
limiting factor. I use an 3.5GHz core i5 dual core (4 with HT) and SSD, 
and with "make -j 10" it compiles in an hour or so. Subsequent compiles 
are quicker.

You need to find your platform etc. If you get an WRT1200AC you can use my 
builds if you want to. After this you need to go into the luci sqm scripts 
and set queueing algorithm etc.

some good commands to see what's going on:

tc -d qdisc
tc -s qdisc

Hope it helps.

-- 
Mikael Abrahamsson    email: swmike at swm.pp.se


More information about the Cerowrt-devel mailing list