aboutsummaryrefslogtreecommitdiffstats
path: root/systems/build_base_machine.sh
diff options
context:
space:
mode:
authorMartin Klozik <martinx.klozik@intel.com>2015-10-21 13:56:38 +0100
committerMaryam Tahhan <maryam.tahhan@intel.com>2015-10-23 13:58:15 +0000
commitf1227a6fc81552c59fa56fe63db872871982adcc (patch)
treeb7749620fa89407375fdbc57fad5d73df4eab6e9 /systems/build_base_machine.sh
parent52eacb37b9e6d11174c23bd053f7ad42b1581dd3 (diff)
systems directory scripts for Centos7
Installation scripts for Centos7 have been updated with new packages. Script will install also python3 packages and create python virtual environment. As a last step DPDK, OVS and QEMU will be compiled. So after script execution VSPERF should be ready for use. It is recommended to execute installation script from user account with password less sudo access. Otherwise python environment must be copied over from root home directory. After VSPERF generic Makefile will be created by VSPERF-114, it can be enhanced to call build script too. Change-Id: I6ff5d2660af29cf8be134a4cae3b1d7b559892fa JIRA: VSPERF-93 Signed-off-by: Martin Klozik <martinx.klozik@intel.com> Signed-off-by: Abdul Halim <abdul.halim@intel.com> Reviewed-by: Billy O Mahony <billy.o.mahony@intel.com> Reviewed-by: Brian Castelli <brian.castelli@spirent.com>
Diffstat (limited to 'systems/build_base_machine.sh')
-rwxr-xr-xsystems/build_base_machine.sh49
1 files changed, 45 insertions, 4 deletions
diff --git a/systems/build_base_machine.sh b/systems/build_base_machine.sh
index 82cf4762..2b09f910 100755
--- a/systems/build_base_machine.sh
+++ b/systems/build_base_machine.sh
@@ -20,6 +20,13 @@
#
# Contributors:
# Aihua Li, Huawei Technologies.
+# Abdul Halim, Intel Corporation.
+# Martin Klozik, Intel Corporation.
+
+ROOT_UID=0
+SUDO=""
+
+export VSPERFENV_DIR="$HOME/vsperfenv"
# function to emit error message before quitting
function die() {
@@ -28,12 +35,46 @@ function die() {
}
# determine this machine's distro-version
+# replacing 'lsb_release' tool to detect OS distro name with using systemd distribution release file /etc/os-release
+# 'lsb_release' is not available by default on Fedora.
-distro=`lsb_release -i | cut -f 2`
-distro_dir=$distro
+. /etc/os-release
+
+# check if root
+if [ "$UID" -ne "$ROOT_UID" ]
+then
+ # installation must be run via sudo
+ SUDO="sudo -E"
+fi
+
+# Get distro name from variables imported; Special case for 'Fedora 22' - we need to get versions as well
+if [ "$NAME" == 'Fedora' -a $VERSION_ID -gt 21 ]
+then
+ distro_dir="$NAME$VERSION_ID"
+else
+ distro_dir=`echo "$NAME" | cut -d ' ' -f1`
+fi
+# build base system
if [ -d "$distro_dir" ] && [ -e $distro_dir/build_base_machine.sh ]; then
- $distro_dir/build_base_machine.sh
+ $SUDO $distro_dir/build_base_machine.sh
else
- die "$distro_dir is not yet supported"
+ die "$distro_dir is not yet supported"
+fi
+
+if [ -d "$distro_dir" ] && [ -e $distro_dir/prepare_python_env.sh ] ; then
+ $distro_dir/prepare_python_env.sh
+else
+ die "$distro_dir is not yet supported"
+fi
+
+if [ ! -d /lib/modules/`uname -r`/build ] ; then
+ die "Kernel devel is not available for active kernel. It can be caused by recent kernel update. Please reboot and run $0 again."
+fi
+
+# download and compile DPDK, OVS and QEMU
+if [ -f ../src/Makefile ] ; then
+ cd ../src
+ make
+ cd -
fi