Install a 4.3+ kernel from http://kernel.ubuntu.com/~kernel-ppa/mainline, for example:
VER=4.3.0-999
PREFIX=http://kernel.ubuntu.com/~kernel-ppa/mainline/daily/2015-09-21-unstable/
REL=201509202159
wget ${PREFIX}/linux-headers-${VER}-generic_${VER}.${REL}_amd64.deb
wget ${PREFIX}/linux-headers-${VER}_${VER}.${REL}_all.deb
wget ${PREFIX}/linux-image-${VER}-generic_${VER}.${REL}_amd64.deb
sudo dpkg -i linux-*${VER}.${REL}*.deb
# rebootUpdate PREFIX to the latest date, and you can browse the files in the PREFIX url to find the REL number.
Tagged bcc binary packages are built for Ubuntu Trusty (14.04) and hosted at http://52.8.15.63/apt/.
To install:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D4284CDD
echo "deb http://52.8.15.63/apt trusty main" | sudo tee /etc/apt/sources.list.d/iovisor.list
sudo apt-get update
sudo apt-get install libbcc libbcc-examples python-bccTest it:
sudo python /usr/share/bcc/examples/hello_world.py
sudo python /usr/share/bcc/examples/task_switch.py
(Optional) Install pyroute2 for additional networking features
git clone https://github.com/svinota/pyroute2
cd pyroute2; sudo make install
sudo python /usr/share/bcc/examples/simple_tc.pyInstall a 4.2+ kernel from http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug, for example:
sudo wget http://alt.fedoraproject.org/pub/alt/rawhide-kernel-nodebug/fedora-rawhide-kernel-nodebug.repo -O /etc/yum.repos.d/fedora-rawhide-kernel-nodebug.repo
sudo dnf install -y kernel-core-4.2.0-1.fc24.x86_64 kernel-4.2.0-1.fc24.x86_64 kernel-devel-4.2.0-1.fc24.x86_64 kernel-modules-4.2.0-1.fc24.x86_64 kernel-headers-4.2.0-1.fc24.x86_64
# rebootTagged bcc binary packages are built for Fedora 22 and hosted at http://52.8.15.63/yum/.
To install:
sudo wget http://52.8.15.63/yum/main/f22/iovisor.repo -O /etc/yum.repos.d/iovisor.repo
sudo dnf install -y libbcc libbcc-examples python-bccTo build the toolchain from source, one needs:
-
LLVM 3.7 or newer, compiled with BPF support (default=on)
-
Clang 3.7, built from the same tree as LLVM
-
cmake, gcc (>=4.7), flex, bison
-
Install build dependencies
sudo apt-get -y install bison build-essential cmake flex git libedit-dev python zlib1g-dev
-
Build LLVM and Clang development libs
git clone http://llvm.org/git/llvm.gitcd llvm/tools; git clone http://llvm.org/git/clang.gitcd ..; mkdir -p build/install; cd buildcmake -G "Unix Makefiles" -DLLVM_TARGETS_TO_BUILD="BPF;X86" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install ..make -j4make installexport PATH=$PWD/install/bin:$PATH
-
Install and compile BCC
git clone https://github.com/iovisor/bcc.gitmkdir bcc/build; cd bcc/buildcmake .. -DCMAKE_INSTALL_PREFIX=/usrmakesudo make install
- Install build dependencies
sudo dnf install -y bison cmake ethtool flex git iperf libstdc++-static python-netaddr python-pip gcc gcc-c++ make zlib-develsudo dnf install -y http://pkgs.repoforge.org/netperf/netperf-2.6.0-1.el6.rf.x86_64.rpmsudo pip install pyroute2
- Install binary clang
wget http://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-fedora22.tar.xzsudo tar xf clang+llvm-3.7.0-x86_64-fedora22.tar.xz -C /usr/local --strip 1
- Install and compile BCC
git clone https://github.com/iovisor/bcc.gitmkdir bcc/build; cd bcc/build- [optional]
export CC=/usr/local/bin/clang CXX=/usr/local/bin/clang++ cmake .. -DCMAKE_INSTALL_PREFIX=/usrmakesudo make install