From 215a65015908064b6ca996286584933002f0287a Mon Sep 17 00:00:00 2001 From: Maryam Tahhan Date: Thu, 19 May 2016 14:18:49 +0100 Subject: systems: add installation scripts Add installation scripts that install all dependencies for collectd with DPDK. Change-Id: I6f641e8714727106302185fd1fdc6c1c118a5d58 Signed-off-by: Maryam Tahhan Reviewed-by: Christoph Meyer Reviewed-by: Bruce Richardson Reviewed-by: Thomas Monjalon Reviewed-by: Jarmo Virtanen Reviewed-by: John McNamara --- systems/build_base_machine.sh | 75 ++++++++++++++++++++++++++++++ systems/fedora/22/build_base_machine.sh | 53 +++++++++++++++++++++ systems/ubuntu/14.04/build_base_machine.sh | 59 +++++++++++++++++++++++ 3 files changed, 187 insertions(+) create mode 100755 systems/build_base_machine.sh create mode 100755 systems/fedora/22/build_base_machine.sh create mode 100755 systems/ubuntu/14.04/build_base_machine.sh diff --git a/systems/build_base_machine.sh b/systems/build_base_machine.sh new file mode 100755 index 00000000..f6f72b7a --- /dev/null +++ b/systems/build_base_machine.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# +# Top level scripts to build basic setup for the host +# + +# Copyright 2015-2016 OPNFV, Intel Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# +# Contributors: +# Aihua Li, Huawei Technologies. +# Abdul Halim, Intel Corporation. +# Martin Klozik, Intel Corporation. +# Maryam Tahhan, Intel Corporation. + +ROOT_UID=0 +SUDO="" + +# function to emit error message before quitting +function die() { + echo $1 + exit 1 +} + +# Detect OS name and version from systemd based os-release file +. /etc/os-release + +# Get OS name (the First word from $NAME in /etc/os-release) +OS_NAME="$ID" + +# check if root +if [ "$UID" -ne "$ROOT_UID" ] +then + # installation must be run via sudo + SUDO="sudo -E" +fi + +# If there is version specific dir available then set distro_dir to that +if [ -d "$OS_NAME/$VERSION_ID" ]; then + distro_dir="$OS_NAME/$VERSION_ID" +else + # Fallback - Default distro_dir = OS name + distro_dir="$OS_NAME" +fi + +# build base system using OS specific scripts +if [ -d "$distro_dir" ] && [ -e "$distro_dir/build_base_machine.sh" ]; then + $SUDO $distro_dir/build_base_machine.sh || die "$distro_dir/build_base_machine.sh failed" +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 and Collectd +if [ -f ../src/Makefile ] ; then + cd ../src + make || die "Make failed" + cd - +else + die "Make failed; No Makefile" +fi diff --git a/systems/fedora/22/build_base_machine.sh b/systems/fedora/22/build_base_machine.sh new file mode 100755 index 00000000..942c799d --- /dev/null +++ b/systems/fedora/22/build_base_machine.sh @@ -0,0 +1,53 @@ +#!/bin/bash +# +# Build a base machine for Fedora 22 +# +# Copyright 2015 OPNFV, Intel Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Contributors: +# Aihua Li, Huawei Technologies. +# Martin Klozik, Intel Corporation. +# Abdul Halim, Intel Corporation. + +dnf -y install $(echo " +# Make and Compilers +make +automake +gcc +gcc-c++ +libxml2 +glibc +glib2-devel +kernel-devel +kernel-modules-extra +pixman-devel +openssl-devel + +# tools +curl +autoconf +libtool +libpcap-devel +libnet +vim +wget +git +pciutils +cifs-utils +socat + +# install git-review tool +git-review +" | grep -v ^#) diff --git a/systems/ubuntu/14.04/build_base_machine.sh b/systems/ubuntu/14.04/build_base_machine.sh new file mode 100755 index 00000000..4e8a129c --- /dev/null +++ b/systems/ubuntu/14.04/build_base_machine.sh @@ -0,0 +1,59 @@ +#!/bin/bash +# +# Build a base machine for Ubuntu 14.04 +# +# Copyright 2015 OPNFV, Intel Corporation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# Contributors: +# Aihua Li, Huawei Technologies. +# Martin Klozik, Intel Corporation. +# Abdul Halim, Intel Corporation. + +apt-get update +apt-get -y install $(echo " +# Make and Compilers +make +automake +gcc +g++ +libc6 +libc6-dev + +# Linux Kernel Source +linux-source +linux-headers-$(uname -r) +pkg-config + +# tools +curl +libcurl4-openssl-dev +automake +autoconf +libtool +libpcap-dev +libnet1 +libncurses5-dev +vim +wget +git +pciutils +cifs-utils +socat +libpixman-1-0 +libpixman-1-dev + +# install git-review tool +git-review +" | grep -v ^#) -- cgit 1.2.3-korg