3 # Make sure that we get the hugepages we need on provision boot
4 # Note: The package install should take care of this at the end
5 # But sometimes after all the work of provisioning, we can't
6 # get the requested number of hugepages without rebooting.
7 # So do it here just in case
8 sysctl -w vm.nr_hugepages=1024
9 HUGEPAGES=`sysctl -n vm.nr_hugepages`
10 if [ $HUGEPAGES != 1024 ]; then
11 echo "ERROR: Unable to get 1024 hugepages, only got $HUGEPAGES. Cannot finish."
15 # Figure out what system we are running on
16 if [ -f /etc/lsb-release ];then
18 elif [ -f /etc/redhat-release ];then
19 yum install -y redhat-lsb
20 DISTRIB_ID=`lsb_release -si`
21 DISTRIB_RELEASE=`lsb_release -sr`
22 DISTRIB_CODENAME=`lsb_release -sc`
23 DISTRIB_DESCRIPTION=`lsb_release -sd`
26 # Do initial setup for the system
27 if [ $DISTRIB_ID == "Ubuntu" ]; then
29 export DEBIAN_PRIORITY=critical
30 export DEBIAN_FRONTEND=noninteractive
31 export DEBCONF_NONINTERACTIVE_SEEN=true
32 APT_OPTS="--assume-yes --no-install-suggests --no-install-recommends -o Dpkg::Options::=\"--force-confdef\" -o Dpkg::Options::=\"--force-confold\""
34 # Standard update + upgrade dance
35 apt-get update ${APT_OPTS} >/dev/null
36 apt-get upgrade ${APT_OPTS} >/dev/null
38 # Fix the silly notion that /bin/sh should point to dash by pointing it to bash
40 update-alternatives --install /bin/sh sh /bin/bash 100
42 # Install useful but non-mandatory tools
43 apt-get install -y emacs git-review gdb gdbserver
44 elif [ $DISTRIB_ID == "CentOS" ]; then
45 # Standard update + upgrade dance