blob: d1f67f9d58d28343f13abaddcaa6a22dea1534b1 [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
alshabibff061ee2014-11-17 15:57:10 -08006
7export CURRENT_USER=tutorial1
8export USER_HOME=/home/${CURRENT_USER}
9
10
alshabib3881a142014-11-17 15:04:35 -080011# -------------- Setup keys -------------------
12
alshabibe94a2752014-11-17 18:27:29 -080013mkdir -p ~/.ssh
alshabib3881a142014-11-17 15:04:35 -080014ssh-keygen -t dsa -P "" -f .ssh/id_dsa
15cp .ssh/id_dsa.pub .ssh/authorized_keys
16
17# -------------- Install Karaf ----------------
18
19mkdir Downloads
20cd Downloads
alshabibeeb81302014-11-18 14:12:22 -080021wget http://apache.osuosl.org/karaf/3.0.2/apache-karaf-3.0.2.zip
alshabib3881a142014-11-17 15:04:35 -080022cd -
23
24# -------------- Setup Desktop ----------------
25
26sudo apt-get install -y xorg lxde
27
28#TODO: add backgrounds folder
alshabibda71cc92014-11-18 16:39:41 -080029sudo mkdir -p /usr/share/backgrounds
alshabib3881a142014-11-17 15:04:35 -080030#TODO: change background
31# Remove wallpaper, change background color
32sudo sed -i 's/wallpaper_mode=1/wallpaper_mode=0/g' /usr/share/lxde/pcmanfm/LXDE.conf
33sudo sed -i 's/desktop_bg=#000000/desktop_bg=#104187/g' /usr/share/lxde/pcmanfm/LXDE.conf
34
35# Automatically start LXDE on login
36echo '[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx' >> ~/.bashrc
37
38# Automatically log into the VM
39#sudo sed -i 's/exec /sbin/getty -8 38400 tty1//g' /etc/init/tty1.conf
40#sudo sed -i '$ d' /etc/init/tty1.conf
41#echo 'exec /bin/login -f bob < /dev/tty1 > /dev/tty1 2>&1' | sudo tee -a /etc/init/tty1.conf
42
43# Disable screensaver
44sudo sed -i '/screensaver/d' /etc/xdg/lxsession/LXDE/autostart
45cat > ${USER_HOME}/.xsessionrc << EOF
46# disable screensaver
47xset s off
48# disable dpms (standby)
49xset -dpms
50EOF
51
52# Change LXTerminal default colors
53#sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' ${USER_HOME}/.config/lxterminal/lxterminal.conf
54#sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' ${USER_HOME}/.config/lxterminal/lxterminal.conf
55sudo sed -i 's/bgcolor=#000000000000/bgcolor=#ffffffffffff/g' /usr/share/lxterminal/lxterminal.conf
56sudo sed -i 's/fgcolor=#aaaaaaaaaaaa/fgcolor=#000000000000/g' /usr/share/lxterminal/lxterminal.conf
57
58DESKTOP=${USER_HOME}/Desktop
alshabib3881a142014-11-17 15:04:35 -080059
60mkdir -p ${DESKTOP}
alshabib3881a142014-11-17 15:04:35 -080061
62cat > ${DESKTOP}/ONOS << EOF
63[Desktop Entry]
64Encoding=UTF-8
65Type=Application
alshabibf86bfb32014-11-17 22:30:26 -080066Name=ONOS
67Name[en_US]=ONOS
alshabib3881a142014-11-17 15:04:35 -080068Icon=konsole
69Exec=/usr/bin/xterm -e '/opt/onos/apache-karaf-3.0.2/bin/client -u karaf'
70Comment[en_US]=
71EOF
72
73cat > ${DESKTOP}/Mininet << EOF
74[Desktop Entry]
75Encoding=UTF-8
76Type=Application
alshabibf86bfb32014-11-17 22:30:26 -080077Name=Mininet
alshabib3881a142014-11-17 15:04:35 -080078Name[en_US]=Mininet
79Icon=konsole
alshabibf86bfb32014-11-17 22:30:26 -080080Exec=/usr/bin/xterm -e 'sudo mn --custom ~/onos-next/tools/test/topos/tower.py --topo tower --controller remote,${1:-192.168.2.1} --mac'
alshabib3881a142014-11-17 15:04:35 -080081Comment[en_US]=
82EOF
83
alshabib3881a142014-11-17 15:04:35 -080084cat > ${DESKTOP}/Tutorial << EOF
85[Desktop Entry]
86Encoding=UTF-8
87Type=Application
alshabibf86bfb32014-11-17 22:30:26 -080088Name=ONOS Tutorial
89Name[en_US]=ONOS Tutorial
alshabib3881a142014-11-17 15:04:35 -080090Icon=internet-web-browser
alshabibf86bfb32014-11-17 22:30:26 -080091Exec=/usr/bin/chromium-browser https://wiki.onosproject.org/display/ONOS/Basic+ONOS+Tutorial
alshabib3881a142014-11-17 15:04:35 -080092Comment[en_US]=
93EOF
94
95cat > ${DESKTOP}/Wireshark << EOF
96[Desktop Entry]
97Encoding=UTF-8
98Type=Application
99Name=Wireshark
100Name[en_US]=Wireshark
101Icon=wireshark
102Exec=/usr/bin/wireshark
103Comment[en_US]=
104EOF
105
106# ------------- Install Other Tools -------------
107sudo apt-get install -y wireshark
108# Enable root-less wireshark and add mininet
109echo "Enabling wireshark group"
110echo "wireshark-common wireshark-common/install-setuid boolean true" | sudo debconf-set-selections
111sudo dpkg-reconfigure -f noninteractive wireshark-common
112sudo usermod -a -G wireshark mininet
113
114echo "Installing VirtualBox Guest Additions"
115sudo apt-get install -y virtualbox-guest-x11
116
117# ------------- Zero Unused Blocks -------------
118#TODO investigate zerofree
119echo "Zeroing unused blocks"
120sync
121dd if=/dev/zero of=tmp-zeros
122sync
123rm tmp-zeros
124sync