aboutsummaryrefslogtreecommitdiffstats
path: root/systems/build_base_machine.sh
diff options
context:
space:
mode:
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