mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-15 01:11:30 +02:00
57 lines
1.6 KiB
Bash
Executable File
57 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
set -xe
|
|
|
|
cp /etc/skel/.bashrc ~/
|
|
cp /etc/skel/.profile ~/
|
|
cp /etc/skel/.bash_logout ~/
|
|
|
|
# ONOS
|
|
git clone https://github.com/opennetworkinglab/onos.git
|
|
tee -a ~/.bashrc <<EOF
|
|
|
|
# ONOS
|
|
export ONOS_ROOT=~/onos
|
|
source ~/onos/tools/dev/bash_profile
|
|
source ~/onos/tools/dev/p4vm/bm-commands.sh
|
|
EOF
|
|
|
|
# Build and install P4 tools
|
|
bash /vagrant/install-p4-tools.sh
|
|
# We'll delete bmv2 sources later...
|
|
cp ~/p4tools/bmv2/tools/veth_setup.sh ~/veth_setup.sh
|
|
cp ~/p4tools/bmv2/tools/veth_teardown.sh ~/veth_teardown.sh
|
|
|
|
# Mininet
|
|
git clone git://github.com/mininet/mininet
|
|
sudo ~/mininet/util/install.sh -nv
|
|
|
|
# Trellis - checkout routing repo
|
|
git clone https://github.com/opennetworkinglab/routing.git
|
|
|
|
# Trellis - install Quagga
|
|
git clone -b onos-1.11 https://gerrit.opencord.org/quagga
|
|
cd quagga
|
|
./bootstrap.sh
|
|
./configure --enable-fpm --sbindir=/usr/lib/quagga enable_user=root enable_group=root
|
|
make
|
|
sudo make install
|
|
cd ..
|
|
sudo ldconfig
|
|
|
|
# Trellis - modify apparmor for the DHCP to run properly
|
|
sudo /etc/init.d/apparmor stop
|
|
sudo ln -s /etc/apparmor.d/usr.sbin.dhcpd /etc/apparmor.d/disable/
|
|
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.dhcpd
|
|
sudo sed -i '30i /var/lib/dhcp{,3}/dhcpclient* lrw,' /etc/apparmor.d/sbin.dhclient
|
|
sudo /etc/init.d/apparmor start
|
|
|
|
# fabric-p4test
|
|
git clone https://github.com/opennetworkinglab/fabric-p4test.git
|
|
|
|
# Set Python path for bmv2 in fabric.p4
|
|
echo 'export PYTHONPATH=$PYTHONPATH:~/onos/tools/dev/mininet/bmv2.py' >> ~/.bashrc
|
|
|
|
# FIXME: for some reason protobuf python bindings are not properly installed
|
|
cd ~/p4tools/protobuf/python
|
|
sudo pip install .
|