Building Cerowrt on your own Linux machine¶
These instructions should work with the 11.10 Ubuntu.
You need some packages that you may download the sources. Then you need some build dependencies to be satisfied. And you need to download the sources. The following commands does some of these.
sudo aptitude install git subversion build-essential flex libncurses5-dev libz-dev gawk gettext mkdir -p ~/src/cerowrt cd ~/src/cerowrt git clone git://github.com/dtaht/cerofiles.git
There will be a build_cero.sh script in that checkout. There is also a cero_config file here. Copy cero_config to ~/.cero and then edit it to suit your preferences.
cp cerofiles/cero_config ~/.cero vim ~/.cero # use the editor you are comfortable with
This example assumes the use of folder ~/src/cerowrt as main directory so you should change the CERO_DIR variable to
~/src/cerowrt/cerofiles/build_cero.sh init cd ~/src/cerowrt make # But please see note below for an extra step while kernel.org is down
The first time you run this it will take a VERY long time to build the toolchains, etc. I have generally found -jX to fail on large numbers of processors, so just build it in series and go to a long dinner or lunch.
Subsequent runs will be much faster, and -jX usually works AND:
NOTE With kernel.org down it is impossible to get a build to summon and compile all the needed packages. There is a temporary mirror of the needed packages available via rsync. Inside the build dir above:
mkdir dl; cd dl; rsync -av huchra.bufferbloat.net::dl .
(this is a temporary expedient)
Given that this builds most of cerowrt against the main git head trees, your build will differ somewhat from what we are making available as release candidates at present. After we get stable, we will tag and freeze the relevant trees.
We note that due to this difference, there may be slight (or even major) differences in the default .config file. It helps to repeatedly cp env/.config onto .config and run make defconfig, and install packages, etc, until they more closely match.
We will improve this script as time goes on, and if you run into trouble, please contact the #bufferbloat irc channel and/or the mailing lists.