mirror of https://gerrit.osmocom.org/osmo-ci
Change-Id: Id9f1aee5d4158024517bc8e3884929b9efd1343echanges/28/9428/1
parent
cd23e09f36
commit
9f2f265e3b
@ -0,0 +1,2 @@ |
||||
postinst.tar.gz |
||||
*.qcow2 |
@ -0,0 +1,23 @@ |
||||
#!/bin/sh |
||||
|
||||
set -e -x |
||||
|
||||
tar czvf postinst.tar.gz postinst |
||||
|
||||
virt-install \ |
||||
--connect qemu:///system \ |
||||
--virt-type kvm \ |
||||
--name debian9 \ |
||||
--memory 1024 \ |
||||
--disk path=./debian9.qcow2,size=8 \ |
||||
--vcpus 1 \ |
||||
--os-type linux \ |
||||
--os-variant debian9 \ |
||||
--network bridge=lxcbr0 \ |
||||
--graphics none \ |
||||
--console pty,target_type=serial \ |
||||
--location 'http://ftp.de.debian.org/debian/dists/stretch/main/installer-amd64/' \ |
||||
--initrd-inject ./preseed.cfg \ |
||||
--initrd-inject ./postinst.sh \ |
||||
--initrd-inject ./postinst.tar.gz \ |
||||
--extra-args 'auto=true hostname=ggsn domain="" console=ttyS0,115200n8 serial' |
@ -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 |
@ -0,0 +1,20 @@ |
||||
-----BEGIN PGP PUBLIC KEY BLOCK----- |
||||
Version: GnuPG v1.4.5 (GNU/Linux) |
||||
|
||||
mQENBFJBt/wBCADAht3d/ilNuyzaXYw/QwTRvmjyoDvfXw+H/3Fvk1zlDZoiKPPc |
||||
a1wCVBINUZl7vYM2OXqbJwYa++JP2Q48xKSvC6thbRc/YLievkbcvTemf7IaREfl |
||||
CTjoYpoqXHa9kHMw1aALDm8CNU88jZmnV7v9L6hKkbYDxie+jpoj7D6B9JlxgNJ4 |
||||
5dQyRNsFGVcIl4Vplt1HyGc5Q5nQI/VgS2rlF/IOXmhRQBc4LEDdU8R2IKnkU4ee |
||||
S7TWanAigGAQhxGuCkS39/CWzc1DhLhjlNhBl/+RTPejkqJtAy00ZLps3+RqUN1Y |
||||
CU/Fsr7aRlYVGqQ/BlptwV0XQ2VVYJX2oEBBABEBAAG0MG5ldHdvcmsgT0JTIFBy |
||||
b2plY3QgPG5ldHdvcmtAYnVpbGQub3BlbnN1c2Uub3JnPokBPAQTAQIAJgUCWmMc |
||||
aQIbAwUJDEAUbQYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEGLrGgkXKA3fjsoI |
||||
ALSXmXzFCpTxg8a6tvXkqddY/qAmeBMNUf7hslI9wN3leNmCrnuHS8TbHWYJZgtw |
||||
8M5fKL3aRQYaIiqqm1XOUF0OqwYNDj5V3y38mM68NYOkzgSP7foMwZp9Y0TlGhtI |
||||
L8weA+2RUjB4hwwGMAYMqkRZyKW3NhPqdlGGoXac1ilwEyGXFHdOLbkhtyS+P2yb |
||||
/EvaKIN5cMLzRZKeYgdp9WuAirV+yV/SDbgvabW098lrWhGLltlRRDQgMV883p8I |
||||
ERMI1wlLFZGnHL3mfBWGeQ24M/DaBOdXQDtfBLCJ9nGztmDBUb8i6GFWU7nD2TGi |
||||
8mYUsED1ZDwO/0jdvJ4gSluIRgQTEQIABgUCUkG3/AAKCRA7MBG3a51lIzhdAJ9v |
||||
d6XPffMZRcCGgDEY5OaTn/MsCQCgrXbeZpFJgnirSrc8rRonvzYFiF4= |
||||
=Gvly |
||||
-----END PGP PUBLIC KEY BLOCK----- |
@ -0,0 +1,2 @@ |
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCmaAZWIdZZjFZHq7Xm5OCUz/Cm46haad+pm2iZ2uSQCIXubjN8HGz1XujBMH1DHhSDK+L0JOBEtxHaY4JR7F177V5R8o50VNwmtTrTaNBPS8WPyVBDuHjjDVSZA+d6QT3Y+3X/FhfoFKmGc2a8MZRmE8yDGW484y7MTZ4XBHqy5vWnnywxWCZm7kVqNccM4oQ4tPWlMTxk6+tgWC4wvk3axsUVUm0ak/WKuZLoX+jBWlsWXR4uwaOEqblpNMv98CxjLgpjEBTvZxgrgY35eAm11S9lmvxFSjLIZA1V/2huAA/9MSNvI4dX4ZQPHfLCsMqFjhkIY0hvFK2uX8hlxHhOR6GkOq3n3MdcKCMI+JAISCP6g++DdQO5wzfOLeSdpTETNpIxeFkjQLS+HnuAcgjRK6O7czI+xYfCiBcaoslsTIYi33Pg7gPuDjwAyVdKqQPVdYPluR8W5+FT1lFtf1jwIB3jgt+v9q+r6d4LfkOCAU17yxG6b40P+FqK9O7X+iUkva/lbghdAw7DimczDIuEMpVVVL3/WhmCIMrfJPG/RtMdoczcAw4q4FxBretZR1Ke4AomUvUklFwfMtLqijxBJN2Owpy7jtqggs+v6cUX54fKh7/SeVrgyIgeUtgJp6lqaxlMao8SoR59YoqLqZueYOp9QxYujA70AGoMMwxsEw== laforge@nataraja |
||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAX61B6rs76JfKmtqqFoR6o9KAP1/WVz9/COtjNrBDc6IfqDy46ZTlKwud4Nm3O3QF5cbdxx/hnOvep4SsLTArYuD8EcBtMoKhh8+c6Y30wR9l3kUWen4JEUJjFOCX/jr2SG4tikF/0S2zUJmILyFMw53pc1KSOmEewiWI8Z6U15ntLWEljWg+BWPs25kgQ5qeA3TO9ygNPFUrEQDGJlzLVubENwZOweTMll89bFaD+6jbjBG4ViPsSlzSvan9CThrTCrVCSmTObfOz3cEci0Wvgh1mBuOyfo5GyXQ7V8tHTF9AU5lGLybeyiXOki3f+bf9da8rnHuswR6ap8VsXrra2QFr40ro7ACCc7TC5Sa62c2Y8pC2Buuv3WcZ1x5PG7gRbU3iZqR0r7HeQGP/lVD0Z9uSV+9dSvg4uhsSS59XzRoI4gElHBiSGdxm0EKB+WI/0y+G9z10qyZggDPHqD67BY1Qpi5uQxQrFiOc5eadC0ucjjA2o4KqEid2cHI4qu8YLBns5X+GE1BB9o/ix5eSYFTBju0FlgzLaYEmo6zIURpKKvKfPEgpU/ZYWRX1SaUlohXaJxB60k87eyHNDCFwyIFDklZ8LB0WBvTJGqJaDmRcR9Idz4dP8UWCHD0hiShSLKW5sOFzkJflFRmaTWmBV8W/mwc9lVJrYuaSd7S4w== laforge@sunbeam.rsa |
@ -0,0 +1,66 @@ |
||||
# Preconfiguration file for jessie. |
||||
# For more details see https://www.debian.org/releases/jessie/example-preseed.txt |
||||
d-i debian-installer/locale string en_US |
||||
d-i keyboard-configuration/xkb-keymap select us |
||||
|
||||
# Choose an network interface that has link if possible. |
||||
d-i netcfg/choose_interface select auto |
||||
|
||||
# Disable that annoying WEP key dialog. |
||||
d-i netcfg/wireless_wep string |
||||
|
||||
# Mirror settings. |
||||
d-i mirror/country string manual |
||||
d-i mirror/http/hostname string ftp.de.debian.org |
||||
d-i mirror/http/directory string /debian |
||||
d-i mirror/http/proxy string |
||||
|
||||
# Root account setup. You can set password in plain-text or pre-encrypted. |
||||
d-i passwd/root-login boolean true |
||||
d-i passwd/root-password password ggsn |
||||
d-i passwd/root-password-again password ggsn |
||||
#d-i passwd/root-password-crypted password $6$1LCVFshS/kbYVg$M1QS1ZJ3.E7NkAD8sqkqhqExA2HWQ5/iDE.l23Xbr89Z7hTg/jUuBMyrYzANLmRybYcH8Smcy.yGDKMAX3okd0 |
||||
|
||||
# User account setup. |
||||
#d-i passwd/make-user boolean false |
||||
d-i passwd/user-fullname string Osmo GGSN |
||||
d-i passwd/username string ggsn |
||||
d-i passwd/user-password password ggsn |
||||
d-i passwd/user-password-again password ggsn |
||||
#d-i passwd/user-password-crypted password $6$dU9we2Mm$Btq1Tk1WkFx3/8YsXWbZr13m56uv0PabJKxk5teKAImLLQhtniOURXuOVLmbiBl0O3iS6xQBctNIc9Dn5b3vR. |
||||
# Password login is disabled. |
||||
#d-i passwd/user-password-crypted password ! |
||||
|
||||
# Controls whether or not the hardware clock is set to UTC. |
||||
d-i clock-setup/utc boolean true |
||||
# See the contents of /usr/share/zoneinfo/ for valid values. |
||||
d-i time/zone string Europe/Berlin |
||||
# Controls whether to use NTP to set the clock during the install. |
||||
d-i clock-setup/ntp boolean true |
||||
|
||||
# Simple non-LVM, all files in one partition. |
||||
# For more examples see https://www.debian.org/releases/jessie/example-preseed.txt |
||||
d-i partman-auto/method string regular |
||||
d-i partman-auto/choose_recipe select atomic |
||||
d-i partman-partitioning/confirm_write_new_label boolean true |
||||
d-i partman/choose_partition select finish |
||||
d-i partman/confirm boolean true |
||||
d-i partman/confirm_nooverwrite boolean true |
||||
|
||||
# Do not install recommended packages by default. |
||||
d-i base-installer/install-recommends boolean false |
||||
tasksel tasksel/first multiselect |
||||
# Individual additional packages to install. acpid and acpi-support-base are required to make virsh shutdown to work. |
||||
# ACPI packages are needed for `virsh shutdown <domain>` to work. |
||||
d-i pkgsel/include string openssh-server ca-certificates acpid acpi-support-base |
||||
popularity-contest popularity-contest/participate boolean false |
||||
|
||||
# Boot loader installation. |
||||
d-i grub-installer/only_debian boolean true |
||||
d-i grub-installer/bootdev string /dev/vda |
||||
|
||||
# Run postinst.sh in /target just before the install finishes. |
||||
d-i preseed/late_command string cp postinst.sh postinst.tar.gz /target/tmp/ && chmod 755 /target/tmp/postinst.sh && in-target /tmp/postinst.sh |
||||
|
||||
# Avoid that last message about the install being complete. |
||||
d-i finish-install/reboot_in_progress note |
Loading…
Reference in new issue