diff options
author | Harald Welte <laforge@gnumonks.org> | 2018-04-24 21:32:39 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2018-06-03 13:29:05 +0200 |
commit | 9f2f265e3b6539884cd403909b90e47a5dd9499b (patch) | |
tree | 6c75ba3a301464e5851785355531460b3eb99dd9 /qemu-kvm/ggsn-kernel-gtp/postinst.sh | |
parent | cd23e09f360e92680ebcd0518ea6fa8bb5c7d97c (diff) |
add script to create virtual machine with kernel gtp ggsn for qemu-kvm
Change-Id: Id9f1aee5d4158024517bc8e3884929b9efd1343e
Diffstat (limited to 'qemu-kvm/ggsn-kernel-gtp/postinst.sh')
-rwxr-xr-x | qemu-kvm/ggsn-kernel-gtp/postinst.sh | 74 |
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 |