blob: 157c0f6d9daa800db40911f15cfff15dab20608c [file] [log] [blame]
alshabib3881a142014-11-17 15:04:35 -08001#!/bin/bash
2# vm-setup.sh
3#
4# This script installs ONOS dependencies and installs a desktop environment on a Miniet VM.
5
6# -------------- Setup keys -------------------
7
8ssh-keygen -t dsa -P "" -f .ssh/id_dsa
9cp .ssh/id_dsa.pub .ssh/authorized_keys
10
11# -------------- Install Karaf ----------------
12
13mkdir Downloads
14cd Downloads
15wget http://mirror.nexcess.net/apache/karaf/3.0.2/apache-karaf-3.0.2.zip
16cd -
17
18# -------------- Setup Desktop ----------------
19
20sudo apt-get install -y xorg lxde
21
22#TODO: add backgrounds folder
23sudo mkdir /usr/share/backgrounds
24#TODO: change background
25# Remove wallpaper, change background color
26sudo sed -i 's/wallpaper_mode=1/wallpaper_mode=0/g' /usr/share/lxde/pcmanfm/LXDE.conf
27sudo sed -i 's/desktop_bg=#000000/desktop_bg=#104187/g' /usr/share/lxde/pcmanfm/LXDE.conf
28
29# Automatically start LXDE on login
30echo '[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx' >> ~/.bashrc
31
32# Automatically log into the VM
33#sudo sed -i 's/exec /sbin/getty -8 38400 tty1//g' /etc/init/tty1.conf
34#sudo sed -i '$ d' /etc/init/tty1.conf
35#echo 'exec /bin/login -f bob < /dev/tty1 > /dev/tty1 2>&1' | sudo tee -a /etc/init/tty1.conf
36
37# Disable screensaver
38sudo sed -i '/screensaver/d' /etc/xdg/lxsession/LXDE/autostart
39cat > ${USER_HOME}/.xsessionrc << EOF
40# disable screensaver
41xset s off
42# disable dpms (standby)
43xset -dpms
44EOF
45
46# Change LXTerminal default colors
47#sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' ${USER_HOME}/.config/lxterminal/lxterminal.conf
48#sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' ${USER_HOME}/.config/lxterminal/lxterminal.conf
49sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' /usr/share/lxterminal/lxterminal.conf
50sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' /usr/share/lxterminal/lxterminal.conf
51
52DESKTOP=${USER_HOME}/Desktop
53OFFLINE="${DESKTOP}/Offline Exercises"
54
55mkdir -p ${DESKTOP}
56mkdir -p "${OFFLINE}"
57
58cat > ${DESKTOP}/ONOS << EOF
59[Desktop Entry]
60Encoding=UTF-8
61Type=Application
62Name=Terminal
63Name[en_US]=Terminal
64Icon=konsole
65Exec=/usr/bin/xterm -e '/opt/onos/apache-karaf-3.0.2/bin/client -u karaf'
66Comment[en_US]=
67EOF
68
69cat > ${DESKTOP}/Mininet << EOF
70[Desktop Entry]
71Encoding=UTF-8
72Type=Application
73Name=Terminal
74Name[en_US]=Mininet
75Icon=konsole
76Exec=/usr/bin/xterm -e 'sudo python ~/onos-next/tools/test/topos/sol.py 127.0.0.1'
77Comment[en_US]=
78EOF
79
80
81
82cat > ${DESKTOP}/Tutorial << EOF
83[Desktop Entry]
84Encoding=UTF-8
85Type=Application
86Name=Teaching with Mininet
87Name[en_US]=Teaching with Mininet
88Icon=internet-web-browser
89Exec=/usr/bin/chromium-browser http://teaching.mininet.org
90Comment[en_US]=
91EOF
92
93cat > ${DESKTOP}/Wireshark << EOF
94[Desktop Entry]
95Encoding=UTF-8
96Type=Application
97Name=Wireshark
98Name[en_US]=Wireshark
99Icon=wireshark
100Exec=/usr/bin/wireshark
101Comment[en_US]=
102EOF
103
104# ------------- Install Other Tools -------------
105sudo apt-get install -y wireshark
106# Enable root-less wireshark and add mininet
107echo "Enabling wireshark group"
108echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections
109sudo dpkg-reconfigure -f noninteractive wireshark-common
110sudo usermod -a -G wireshark mininet
111
112echo "Installing VirtualBox Guest Additions"
113sudo apt-get install -y virtualbox-guest-x11
114
115# ------------- Zero Unused Blocks -------------
116#TODO investigate zerofree
117echo "Zeroing unused blocks"
118sync
119dd if=/dev/zero of=tmp-zeros
120sync
121rm tmp-zeros
122sync