Skip to content

Commit

Permalink
Move INSTALL.md to use more block code
Browse files Browse the repository at this point in the history
Signed-off-by: Brenden Blanco <[email protected]>
  • Loading branch information
Brenden Blanco committed Nov 16, 2015
1 parent d0c4fd3 commit edf7baa
Showing 1 changed file with 52 additions and 30 deletions.
82 changes: 52 additions & 30 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,18 @@
In general, to use these features, a Linux kernel version 4.1 or newer is
required. In addition, the following flags should be set:

- `CONFIG_BPF=y`
- `CONFIG_BPF_SYSCALL=y`
- `CONFIG_NET_CLS_BPF=m` [optional, for tc filters]
- `CONFIG_NET_ACT_BPF=m` [optional, for tc actions]
- `CONFIG_BPF_JIT=y`
- `CONFIG_HAVE_BPF_JIT=y`
- `CONFIG_BPF_EVENTS=y` [optional, for kprobes]
```
CONFIG_BPF=y
CONFIG_BPF_SYSCALL=y
# [optional, for tc filters]
CONFIG_NET_CLS_BPF=m
# [optional, for tc actions]
CONFIG_NET_ACT_BPF=m
CONFIG_BPF_JIT=y
CONFIG_HAVE_BPF_JIT=y
# [optional, for kprobes]
CONFIG_BPF_EVENTS=y
```

# Ubuntu - Binary

Expand Down Expand Up @@ -80,7 +85,7 @@ To build the toolchain from source, one needs:
* Clang 3.7, built from the same tree as LLVM
* cmake, gcc (>=4.7), flex, bison

* Install build dependencies
## Install build dependencies
```
VER=trusty
echo "deb http:https://llvm.org/apt/$VER/ llvm-toolchain-$VER-3.7 main
Expand All @@ -91,7 +96,8 @@ sudo apt-get update
sudo apt-get -y install bison build-essential cmake flex git libedit-dev \
libllvm3.7 llvm-3.7-dev libclang-3.7-dev python zlib1g-dev
```
* Install and compile BCC

## Install and compile BCC
```
git clone https://github.com/iovisor/bcc.git
mkdir bcc/build; cd bcc/build
Expand All @@ -102,26 +108,42 @@ sudo make install

# Fedora - From source

* Install build dependencies
* `sudo dnf install -y bison cmake ethtool flex git iperf libstdc++-static python-netaddr python-pip gcc gcc-c++ make zlib-devel`
* `sudo dnf install -y http:https://pkgs.repoforge.org/netperf/netperf-2.6.0-1.el6.rf.x86_64.rpm`
* `sudo pip install pyroute2`
* Install binary clang
* `wget http:https://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-fedora22.tar.xz`
* `sudo 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.git`
* `mkdir bcc/build; cd bcc/build`
* [optional] `export CC=/usr/local/bin/clang CXX=/usr/local/bin/clang++`
* `cmake .. -DCMAKE_INSTALL_PREFIX=/usr`
* `make`
* `sudo 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-devel
sudo dnf install -y \
http:https://pkgs.repoforge.org/netperf/netperf-2.6.0-1.el6.rf.x86_64.rpm
sudo pip install pyroute2
```

## Install binary clang

```
wget http:https://llvm.org/releases/3.7.0/clang+llvm-3.7.0-x86_64-fedora22.tar.xz
sudo 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.git
mkdir bcc/build; cd bcc/build
# optional
export CC=/usr/local/bin/clang CXX=/usr/local/bin/clang++
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
```

# [Old] Build LLVM and Clang development libs
* `git clone http:https://llvm.org/git/llvm.git`
* `cd llvm/tools; git clone http:https://llvm.org/git/clang.git`
* `cd ..; mkdir -p build/install; cd build`
* `cmake -G "Unix Makefiles" -DLLVM_TARGETS_TO_BUILD="BPF;X86" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install ..`
* `make -j4`
* `make install`
* `export PATH=$PWD/install/bin:$PATH`
```
git clone http:https://llvm.org/git/llvm.git
cd llvm/tools; git clone http:https://llvm.org/git/clang.git
cd ..; mkdir -p build/install; cd build
cmake -G "Unix Makefiles" -DLLVM_TARGETS_TO_BUILD="BPF;X86" \
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install ..
make -j4
make install
export PATH=$PWD/install/bin:$PATH
```

0 comments on commit edf7baa

Please sign in to comment.