aboutsummaryrefslogtreecommitdiffstats
path: root/qemu-kvm/ggsn-kernel-gtp/postinst.sh
diff options
context:
space:
mode:
Diffstat (limited to 'qemu-kvm/ggsn-kernel-gtp/postinst.sh')
-rwxr-xr-xqemu-kvm/ggsn-kernel-gtp/postinst.sh74
1 files changed, 74 insertions, 0 deletions
diff --git a/qemu-kvm/ggsn-kernel-gtp/postinst.sh b/qemu-kvm/ggsn-kernel-gtp/postinst.sh
new file mode 100755
index 0000000..4cbe64c
--- /dev/null
+++ b/qemu-kvm/ggsn-kernel-gtp/postinst.sh
@@ -0,0 +1,74 @@
+#!/bin/sh
+
+# This script is run by debian installer using preseed/late_command
+# directive, see preseed.cfg
+
+# Setup console, remove timeout on boot.
+sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0"/g; s/TIMEOUT=5/TIMEOUT=0/g' /etc/default/grub
+update-grub
+
+# Members of `sudo` group are not asked for password.
+sed -i 's/%sudo\tALL=(ALL:ALL) ALL/%sudo\tALL=(ALL:ALL) NOPASSWD:ALL/g' /etc/sudoers
+
+# Empty message of the day.
+echo -n > /etc/motd
+
+# Unpack postinst tarball.
+tar -x -v -z -C/tmp -f /tmp/postinst.tar.gz
+
+# Install SSH key for ggsn.
+mkdir -m700 /home/ggsn/.ssh
+cat /tmp/postinst/authorized_keys > /home/ggsn/.ssh/authorized_keys
+chown -R ggsn:ggsn /home/ggsn/.ssh
+
+# Install SSH key for root.
+mkdir -m700 /root/.ssh
+cat /tmp/postinst/authorized_keys > /root/.ssh/authorized_keys
+chown -R root:root /root/.ssh
+
+# Install misc packages required for building osmocom code
+apt-get install -y --no-install-recommends \
+ autoconf \
+ autoconf-archive \
+ autogen \
+ automake \
+ build-essential \
+ gcc \
+ git \
+ libc-ares-dev \
+ libgnutls28-dev \
+ libncurses5-dev \
+ libtalloc-dev \
+ libreadline-dev \
+ libsctp-dev \
+ libtool \
+ make \
+ pkg-config
+apt-get clean
+
+# add osmocom:nightly feed + install libosmocore-dev
+apt-key add /tmp/postinst/Release.key
+echo "deb http://download.opensuse.org/repositories/network:/osmocom:/nightly/Debian_9.0/ ./" > /etc/apt/sources.list.d/osmocom-nightly.list
+apt-get update
+apt-get install -y --no-install-recommends \
+ libosmocore-dev
+apt-get clean
+
+# Remove some non-essential packages.
+DEBIAN_FRONTEND=noninteractive apt-get purge -y nano laptop-detect tasksel dictionaries-common emacsen-common iamerican ibritish ienglish-common ispell
+
+# Set domain name in hosts file
+#sed -i 's/127.0.1.1\t\([a-z]*\).*/127.0.1.1\t\1\.dp\-net\.com\t\1/' /etc/hosts
+
+# Avoid using DHCP-server provided domain name.
+#sed -i 's/#supersede.*/supersede domain-name "dp-net.com";/' /etc/dhcp/dhclient.conf
+
+# check out sources we need from their respective repositories
+cd /usr/local/src
+git clone git://git.netfilter.org/libmnl
+(cd libmnl && autoreconf -fi && ./configure && make && make install)
+git clone git://git.osmocom.org/libgtpnl
+(cd libgtpnl && autoreconf -fi && ./configure && make && make install)
+git clone git://git.osmocom.org/osmo-ggsn
+(cd osmo-ggsn && autoreconf -fi && ./configure --enable-gtp-linux && make && make install)
+ldconfig