Switched vagrant for ~/git/vpp to /vpp
[vpp.git] / build-root / vagrant / bootstrap.ubuntu1404.sh
1 # Fix grub-pc on Virtualbox with Ubuntu
2 export DEBIAN_FRONTEND=noninteractive
3
4 # Standard update + upgrade dance
5 apt-get update
6 apt-get upgrade -y
7
8 # Fix the silly notion that /bin/sh should point to dash by pointing it to bash
9
10 sudo update-alternatives --install /bin/sh sh /bin/bash 100
11
12 # Install build tools
13 apt-get install -y build-essential autoconf automake bison libssl-dev ccache libtool git dkms debhelper emacs libganglia1-dev libapr1-dev libconfuse-dev git-review
14
15 # Install other stuff
16 # apt-get install -y qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
17
18 # Install uio
19 apt-get install -y linux-image-extra-`uname -r`
20
21 # Install jdk and maven
22 apt-get install -y openjdk-7-jdk
23 # $$$ comment out for the moment
24 # apt-get install -y --force-yes maven3
25
26 # Install debian packaging tools
27 apt-get install -y debhelper dkms
28
29 # Setup for hugepages using upstart so it persists across reboots
30 echo "vm.nr_hugepages=1024" >> /etc/sysctl.d/20-hugepages.conf
31 sysctl --system
32
33 cat << EOF > /etc/init/hugepages.conf
34 start on runlevel [2345]
35
36 task
37
38 script
39     mkdir -p /run/hugepages/kvm || true
40     rm -f /run/hugepages/kvm/* || true
41     rm -f /dev/shm/* || true
42     mount -t hugetlbfs nodev /run/hugepages/kvm
43 end script
44 EOF
45
46 # Make sure we run that hugepages.conf right now
47 start hugepages
48
49 # Setup the vpp code
50 cd ~vagrant/
51
52 sudo -u vagrant mkdir -p git/vpp
53 cp /vagrant/README.moved git/vpp/
54
55 cd /vpp/
56
57 # Initial vpp build
58 if [ -d build-root ]; then
59   # Bootstrap vpp
60   cd build-root/
61   sudo -H -u vagrant ./bootstrap.sh
62
63   # Build vpp
64   sudo -H -u vagrant make PLATFORM=vpp TAG=vpp_debug install-deb
65
66   # Install debian packages
67   dpkg -i *.deb
68
69   # Start vpp
70   start vpp
71
72   cd ~vagrant/
73   cat /vagrant/README
74
75 fi