[Cerowrt-devel] Pointers on build setup?

Dave Taht dave.taht at gmail.com
Mon Apr 30 11:50:07 EDT 2012

On Mon, Apr 30, 2012 at 8:14 AM,  <dpreed at reed.com> wrote:
> Regarding builds - can someone who is building cerowrt from source
> (including kernel) point me at the recipe for building it completely from
> scratch?

We have most of a build script that has worked at various points in time,
at the moment, I doubt it's correct. Ketan posted some mods recently...

as things stand today, it's kind of fiddly, and requires multiple attempts
at getting the .config right, there's a few tool dependencies, etc.

As soon as I hit feature complete - and had hardware that could turn
around builds fast enough - I'd planned to fix that up.

In the interim...

I can get a correct build setup for you in 10 minutes, if you give me a login.
Certainly having a script that 'just works', and is a one liner, has
been a goal, once things get more stable. Which I would hope be late
this week. Hopefully.

I note I have not checked in all the 'fixes' to the ipv6 alignment
issue (bugs 360, 371, 379) in the past week, as alternatives are being
discussed on the openwrt-devel list.

> Besides running 3.3-2 on a 3800, I've begun my project to validate that
> Cerowrt can run on my ubnt RouterStation Pro box, which is preliminary to
> doing some experimentation on dense scalability that interests me.   I

If you are talking about what I call the 'dense mesh' problem, the predecessor
project to cerowrt had it's original genesis in trying to solve the
meltdown issues olpc had with 802.11s.

"Diversity routing" seemed to be an answer.


And the routerstation pro (3 radios! ooh!) is a perfect platform to be
trying that on.
Juliusz was looking into doing experiments on that hardware...

Sadly it shares the unaligned ipv6 problem that we've been struggling to solve,
and the max thruput is less than what those 3 radios could achieve.

> verified that it runs the latest stable Backfire release of OpenWRT this
> weekend, and it does so quite well.
> My own private home build server is (essentially) a cluster of two AMD8160
> 8-core 32 GB servers connected with 40 Gb/s Infiniband and a 6-way RAID5
> storage array on one of them that gives quite nice read performance.  I'm
> not worried about how long it takes to do a build...

I will note that SSDs really rock, and seek times of ~0 do wonders for
the link step.

That said, I was proud of my new hardware, until I read that. :/

> Anyway - the recipe doesn't have to be perfected for me to use it - and I
> suspect it's similar to OpenWRT's build, so maybe pointing me to the best
> help for that and what the differences are would be great.

>From a basic perspective, you have additional feeds in feeds.conf,
a specialized config, a special filesystem that does a few different
things - notably changing the device naming so you can have multiple
routed interfaces and simplified firewall rules -

So you start by checking out cerofiles. The build_cero.sh script there
is obsolete but can supply clue as to the repos required and ketan had
some patches to that.

What I do nowadays is mildly different than the script, in that after
the repos are pulled down, feeds.conf is configured, scripts/env new
whatever has been run and cerofiles imported into it, I tend to hammer
at it with

./scripts/feeds install -p cero `cat env/override.list`
./scripts/feeds install `cat env/packages.list`
./scripts/feeds install -p cero `cat env/override.list`

cp env/config-* .config
make defconfig
grep =m .config | sort -u > t1.txt
grep =m env/config* | sort -u > t2.txt

diff t1.txt t2.txt

add the packages via feeds install (I'm always adding new ones)

the script ALMOST does all that.

(or I can can get it going for you in 10 minutes)

> I promise I will write the "port" experience up and post it on the Wiki, in
> case others want to port cerowrt to other "OpenWRT platforms" of sufficient
> capabilities.
> David
> -----Original Message-----
> From: "Outback Dingo" <outbackdingo at gmail.com>
> Sent: Sunday, April 29, 2012 9:42pm
> To: "Dave Taht" <dave.taht at gmail.com>
> Cc: cerowrt-devel at lists.bufferbloat.net
> Subject: Re: [Cerowrt-devel] speeding up builds
> On Sun, Apr 29, 2012 at 8:15 PM, Dave Taht <dave.taht at gmail.com> wrote:
>> I finally acquired a machine with 32GB of ram, an intel 3930k (6
>> cores), and an SSD.
>> I put the build_dir, /tmp and /var/tmp on ramdisks, and...
>> This cut a complete cerowrt build (including toolchain) down from >
>> 3.5 hrs down to under 45 minutes.
>> Without the toolchain rebuild, but after a make clean (to rebuild the
>> packages and kernel), it's about 28 minutes.
>> I can see that it is possible to parallelize things more to maybe chop
>> another 30% of of things...
>> ...but I'm glad to have 3 hrs of my life back, per build.
>> I wanted to figure out to what extent modern hardware would enhance
>> the existing buildbot system.
>> Now I know...
> odd my laptop will do a full build with tool chain in about an
> hour..... its only a core i3 with 6gb and an ssd
>> --
>> Dave Täht
>> SKYPE: davetaht
>> US Tel: 1-239-829-5608
>> http://www.bufferbloat.net
>> _______________________________________________
>> Cerowrt-devel mailing list
>> Cerowrt-devel at lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel

Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608

More information about the Cerowrt-devel mailing list