[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