diff --git a/packer/alpine-linux/README.rst b/packer/alpine-linux/README.rst index 18dc096..3a6fd5e 100644 --- a/packer/alpine-linux/README.rst +++ b/packer/alpine-linux/README.rst @@ -47,13 +47,3 @@ The GUI version has XFCE4 installed. packer build -var-file=gui.json alpine.json - -Ostinato -''''''''' - -A build of Alpine with Ostinato GUI and drone preinstalled. - -.. code:: bash - - packer build -var-file=ostinato.json alpine.json - diff --git a/packer/alpine-linux/ostinato.json b/packer/alpine-linux/ostinato.json deleted file mode 100644 index 0bbaf0d..0000000 --- a/packer/alpine-linux/ostinato.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "ui_mode": "gui", - "vm_name": "ostinato.qcow2", - "file_source": "ostinato", - "setup_script": "ostinato.sh", - "disk_size": "1000" -} diff --git a/packer/alpine-linux/scripts/ostinato.sh b/packer/alpine-linux/scripts/ostinato.sh deleted file mode 100644 index d1e52eb..0000000 --- a/packer/alpine-linux/scripts/ostinato.sh +++ /dev/null @@ -1,114 +0,0 @@ -# install packages -alpine_version=$(cat /etc/alpine-release) -alpine_version=${alpine_version%.*} -apk add nano mousepad -apk add --allow-untrusted \ - /tmp/uploads/ostinato/$alpine_version/ostinato-drone*.apk \ - /tmp/uploads/ostinato/$alpine_version/ostinato-gui*.apk -apk add tshark wireshark - -# desktop integration -cat > /usr/share/applications/ostinato.desktop << 'EOF' -[Desktop Entry] -Name=Ostinato -GenericName=Packet Traffic Generator -Exec=ostinato -Icon=ostinato -Terminal=false -Type=Application -Categories=Network;Monitor;Qt; -EOF -cp -p /tmp/uploads/ostinato/logo_256x256.png /usr/share/icons/hicolor/256x256/apps/ostinato.png -gtk-update-icon-cache -f /usr/share/icons/hicolor - -# change hostname -sed -i -e "s/^127\.0\.0\.1.*/127.0.0.1\tostinato.$(hostname -d) ostinato localhost.localdomain localhost/" /etc/hosts -echo ostinato > /etc/hostname -hostname ostinato - -# configure ostinato -mkdir -p /etc/xdg/Ostinato -printf '[General]\nRateAccuracy=Low\n[PortList]\nExclude=any,lo*\n' > /etc/xdg/Ostinato/drone.ini - -# allow ostinato group to run drone -addgroup -S ostinato -chgrp ostinato /usr/bin/drone -chmod 750 /usr/bin/drone -setcap cap_net_admin,cap_net_raw=eip /usr/bin/drone - -# add user to ostinato and wireshark group -addgroup user ostinato -addgroup user wireshark - -# reset terminal modes -sed -i "$(printf '1i\e[?5l\e[?7h\e[?8h')" /etc/motd - -# create .profile -cat > /root/.profile << 'EOF' -# ~/.profile: executed by Bourne-compatible login shells. - -if [ "$BASH" ]; then - if [ -f ~/.bashrc ]; then - . ~/.bashrc - fi -fi - -mesg n || true -EOF - -find /home -type d -mindepth 1 -maxdepth 1 | while read -r home; do - cp -p /root/.profile "$home/" - chown $(stat -c '%u:%g' "$home") "$home/.profile" -done - -# network configuration -cat > /etc/network/interfaces << EOF -# -# This is a sample network config, uncomment lines to configure the network -# -# Loopback interface -auto lo -iface lo inet loopback - -# Static config for eth0 -#auto eth0 -#iface eth0 inet static -# address 192.168.0.2 -# netmask 255.255.255.0 -# gateway 192.168.0.1 -# up echo nameserver 192.168.0.1 > /etc/resolv.conf - -# DHCP config for eth0 -#auto eth0 -#iface eth0 inet dhcp -# hostname $(hostname) - -# Minimal configuration for ethernet interfaces -# If static IP or DHCP is enabled for eth0, comment the config for eth0 -auto eth0 -iface eth0 inet manual - pre-up sysctl -q -w net.ipv6.conf.\$IFACE.disable_ipv6=1 - up ip link set dev \$IFACE mtu 9000 up - down ip link set dev \$IFACE down - -auto eth1 -iface eth1 inet manual - pre-up sysctl -q -w net.ipv6.conf.\$IFACE.disable_ipv6=1 - up ip link set dev \$IFACE mtu 9000 up - down ip link set dev \$IFACE down - -auto eth2 -iface eth2 inet manual - pre-up sysctl -q -w net.ipv6.conf.\$IFACE.disable_ipv6=1 - up ip link set dev \$IFACE mtu 9000 up - down ip link set dev \$IFACE down - -auto eth3 -iface eth3 inet manual - pre-up sysctl -q -w net.ipv6.conf.\$IFACE.disable_ipv6=1 - up ip link set dev \$IFACE mtu 9000 up - down ip link set dev \$IFACE down -EOF - -cat > /etc/resolv.conf << EOF -EOF diff --git a/packer/tinycore-linux/README.rst b/packer/tinycore-linux/README.rst index 51527f3..f7b2aa9 100644 --- a/packer/tinycore-linux/README.rst +++ b/packer/tinycore-linux/README.rst @@ -87,18 +87,3 @@ A build of Tiny Core with Firefox preinstalled. packer build -var-file=tinycore-linux-firefox.json tinycore-linux.json - -Ostinato -''''''''' - -A build of Tiny Core with Ostinato GUI + drone preinstalled. - -.. code:: bash - - packer build -var-file=ostinato.json tinycore-linux.json - -A drone-only VM without GUI can be build with: - -.. code:: bash - - packer build -var-file=ostinato-drone.json core-linux.json diff --git a/packer/tinycore-linux/ostinato-drone.json b/packer/tinycore-linux/ostinato-drone.json deleted file mode 100644 index 5943778..0000000 --- a/packer/tinycore-linux/ostinato-drone.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "vm_name": "ostinato-drone.qcow2", - "setup_script": "ostinato-drone.sh", - "disk_size": "200" -} diff --git a/packer/tinycore-linux/ostinato.json b/packer/tinycore-linux/ostinato.json deleted file mode 100644 index 89032ad..0000000 --- a/packer/tinycore-linux/ostinato.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "tc_iso_url": "http://distro.ibiblio.org/tinycorelinux/8.x/x86/archive/8.2/Core-8.2.iso", - "tc_iso_checksum": "560b6d9da10140f13f22eeea35bf6087", - "vm_name": "ostinato.qcow2", - "setup_script": "ostinato.sh", - "disk_size": "200" -} diff --git a/packer/tinycore-linux/scripts/ostinato-drone.sh b/packer/tinycore-linux/scripts/ostinato-drone.sh deleted file mode 100644 index 63c4724..0000000 --- a/packer/tinycore-linux/scripts/ostinato-drone.sh +++ /dev/null @@ -1,124 +0,0 @@ -set -e -set -x - -# git branch, commit or tag -git_commit=v0.9 - -# setup environment -. /etc/profile -. /etc/init.d/tc-functions -getMirror - -# load qt-4.x-base without the X dependecies -# alternatively a "tce-load -wi qt-4.x-base" loads it with all dependecies -wget -P /mnt/sda1/tce/optional $MIRROR/qt-4.x-base.tcz -wget -P /mnt/sda1/tce/optional $MIRROR/qt-4.x-base.tcz.md5.txt -touch /mnt/sda1/tce/optional/qt-4.x-base.tcz.dep -tce-load -i /mnt/sda1/tce/optional/qt-4.x-base.tcz - -# load the remaining dependencies for ostinato -tce-load -wi qt-4.x-script -tce-load -wi glib2 -tce-load -wi openssl -tce-load -wi libpcap - -# load also iperf -tce-load -wi iperf3 - -# change tcedir to ram disk -mv /etc/sysconfig/tcedir /etc/sysconfig/tcedir.hd -ln -s /tmp/tce /etc/sysconfig/tcedir -sudo cp -a /usr/local/tce.installed /usr/local/tce.installed.hd - -# setup compile environment -tce-load -wi compiletc -tce-load -wi squashfs-tools -tce-load -wi curl -export CFLAGS="-march=i486 -mtune=i686 -O2" -export CXXFLAGS="-march=i486 -mtune=i686 -O2" -export LDFLAGS="-Wl,-O1" - -# compile protobuf -curl -L -O https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz -tar xfz protobuf-2.6.1.tar.gz -cd protobuf-2.6.1 -./configure --prefix=/usr/local -make -sudo make install -sudo rm /usr/local/lib/libprotobuf.so -cd .. -rm -rf protobuf* - -# compile ostinato -tce-load -wi qt-4.x-dev -tce-load -wi libpcap-dev -tce-load -wi git -git clone https://github.com/pstavirs/ostinato.git -cd ostinato -[ -n "$git_commit" ] && git checkout "$git_commit" -qmake -config release "QMAKE_CXXFLAGS+=$CXXFLAGS" -make server -sudo INSTALL_ROOT=/tmp/ostinato make server-install_subtargets -sudo chown -R root:root /tmp/ostinato -sudo chmod +s /tmp/ostinato/usr/local/bin/drone -cd .. -mksquashfs /tmp/ostinato ostinato-drone.tcz -md5sum ostinato-drone.tcz > ostinato-drone.tcz.md5.txt -echo -e "qt-4.x-base.tcz\nqt-4.x-script.tcz\nlibpcap.tcz" > ostinato-drone.tcz.dep -mv ostinato-drone.tcz* /mnt/sda1/tce/optional/ -echo ostinato-drone.tcz >> /mnt/sda1/tce/onboot.lst -sudo rm -rf /tmp/ostinato -rm -rf ostinato* - -# ostinato configuration file -mkdir -p .config/Ostinato -cat > .config/Ostinato/drone.ini <<'EOF' -[General] -RateAccuracy=Low -[PortList] -Include=eth* -Exclude=eth0 -EOF - -# change tcedir back to hard disk -rm -f /etc/sysconfig/tcedir -mv /etc/sysconfig/tcedir.hd /etc/sysconfig/tcedir -sudo rm -rf /usr/local/tce.installed -sudo mv /usr/local/tce.installed.hd /usr/local/tce.installed - -# disable automatic interface configuration with dhcp -sudo sed -i -e '/label .*core/,/append / s/\(append .*\)/\1 nodhcp/' /mnt/sda1/boot/extlinux/extlinux.conf - -# add startup script for ostinato -cat >> /opt/bootlocal.sh <<'EOF' - -# Boot parameter "nodhcp": network interfaces are not yet configured -if grep -q -w nodhcp /proc/cmdline; then - # This waits until all devices have registered - /sbin/udevadm settle --timeout=10 - - # configure eth0 with DHCP - /sbin/udhcpc -b -i eth0 -x hostname:$(/bin/hostname) -p /var/run/udhcpc.eth0.pid >/dev/null 2>&1 & - - # alternatively configure static interface address and route - #ifconfig eth0 x.x.x.x netmask 255.255.255.0 up - #route add default gw y.y.y.y - #echo 'nameserver z.z.z.z' > /etc/resolv.conf - - # activate other eth devices - NETDEVICES="$(awk -F: '/eth[1-9][0-9]*:/{print $1}' /proc/net/dev 2>/dev/null)" - for DEVICE in $NETDEVICES; do - sysctl -q -w net.ipv6.conf.$DEVICE.disable_ipv6=1 - ifconfig $DEVICE mtu 9000 up - done -fi - -# disable ostinato update, makes no sense in this environment -echo -e '# disable ostinato update\n127.0.0.127 update.ostinato.org' >> /etc/hosts - -# start ostinato drone -sleep 2 -su -c 'drone < /dev/null > /var/log/ostinato-drone.log 2>&1 &' gns3 -EOF - -exit 0 diff --git a/packer/tinycore-linux/scripts/ostinato.sh b/packer/tinycore-linux/scripts/ostinato.sh deleted file mode 100644 index e951155..0000000 --- a/packer/tinycore-linux/scripts/ostinato.sh +++ /dev/null @@ -1,145 +0,0 @@ -set -e -set -x - -# git branch, commit or tag -git_commit=v0.9 - -# setup environment -. /etc/profile - -# load the dependencies for ostinato -tce-load -wi qt-4.x-base -tce-load -wi qt-4.x-script -tce-load -wi libpcap - -# load also iperf -tce-load -wi iperf3 - -# change tcedir to ram disk -mv /etc/sysconfig/tcedir /etc/sysconfig/tcedir.hd -ln -s /tmp/tce /etc/sysconfig/tcedir -sudo cp -a /usr/local/tce.installed /usr/local/tce.installed.hd - -# setup compile environment -tce-load -wi compiletc -tce-load -wi squashfs-tools -tce-load -wi curl -export CFLAGS="-march=i486 -mtune=i686 -O2" -export CXXFLAGS="-march=i486 -mtune=i686 -O2" -export LDFLAGS="-Wl,-O1" - -# compile protobuf -curl -L -O https://github.com/google/protobuf/releases/download/v2.6.1/protobuf-2.6.1.tar.gz -tar xfz protobuf-2.6.1.tar.gz -cd protobuf-2.6.1 -./configure --prefix=/usr/local -make -sudo make install -sudo rm /usr/local/lib/libprotobuf.so -cd .. -rm -rf protobuf* - -# compile ostinato -tce-load -wi qt-4.x-dev -tce-load -wi libpcap-dev -tce-load -wi git -git clone https://github.com/pstavirs/ostinato.git -cd ostinato -[ -n "$git_commit" ] && git checkout "$git_commit" -qmake -config release "QMAKE_CXXFLAGS+=$CXXFLAGS" -make -sudo INSTALL_ROOT=/tmp/ostinato make install -sudo mkdir -p /tmp/ostinato/usr/local/share/applications -cat > ostinato.desktop <<'EOF' -[Desktop Entry] -Name=Ostinato -Exec=ostinato > /var/log/ostinato.log 2>&1 -Type=Application -X-FullPathIcon=/usr/local/share/pixmaps/ostinato_logo.png -Icon=ostinato_logo.png -Categories=System; -EOF -sudo mv ostinato.desktop /tmp/ostinato/usr/local/share/applications/ -sudo mkdir -p /tmp/ostinato/usr/local/share/pixmaps -sudo cp -p client/icons/logo.png /tmp/ostinato/usr/local/share/pixmaps/ostinato_logo.png -chmod 644 /tmp/ostinato/usr/local/share/pixmaps/ostinato_logo.png -sudo chown -R root:root /tmp/ostinato -sudo chmod +s /tmp/ostinato/usr/local/bin/drone -cd .. -mksquashfs /tmp/ostinato ostinato.tcz -md5sum ostinato.tcz > ostinato.tcz.md5.txt -echo -e "qt-4.x-base.tcz\nqt-4.x-script.tcz\nlibpcap.tcz" > ostinato.tcz.dep -mv ostinato.tcz* /mnt/sda1/tce/optional/ -echo ostinato.tcz >> /mnt/sda1/tce/onboot.lst -sudo rm -rf /tmp/ostinato -rm -rf ostinato* - -# ostinato configuration file -mkdir -p .config/Ostinato -cat > .config/Ostinato/drone.ini <<'EOF' -[General] -RateAccuracy=Low -[PortList] -Include=eth* -Exclude=eth0 -EOF -cat > .config/Ostinato/Ostinato.conf <<'EOF' -[General] -WiresharkPath=/usr/local/bin/wireshark-gtk -TsharkPath=/usr/local/bin/tshark -GzipPath=/bin/gzip -DiffPath=/usr/bin/diff -AwkPath=/usr/bin/awk -EOF - -# change tcedir back to hard disk -rm -f /etc/sysconfig/tcedir -mv /etc/sysconfig/tcedir.hd /etc/sysconfig/tcedir -sudo rm -rf /usr/local/tce.installed -sudo mv /usr/local/tce.installed.hd /usr/local/tce.installed - -# install wireshark -tce-load -wi wireshark adwaita-icon-theme - -# install dillo (tiny web browser) for reading documentation -tce-load -wi dillo ca-certificates -echo -e '\nexport BROWSER=dillo' >> .ashrc -sudo ln -s /usr/local/etc/ssl /etc/ssl -echo 'etc/ssl' >> /opt/.filetool.lst - -# disable automatic interface configuration with dhcp -sudo sed -i -e '/label .*core/,/append / s/\(append .*\)/\1 nodhcp/' /mnt/sda1/boot/extlinux/extlinux.conf - -# add startup script for ostinato -cat >> /opt/bootlocal.sh <<'EOF' - -# Boot parameter "nodhcp": network interfaces are not yet configured -if grep -q -w nodhcp /proc/cmdline; then - # This waits until all devices have registered - /sbin/udevadm settle --timeout=10 - - # configure eth0 with DHCP - /sbin/udhcpc -b -i eth0 -x hostname:$(/bin/hostname) -p /var/run/udhcpc.eth0.pid >/dev/null 2>&1 & - - # alternatively configure static interface address and route - #ifconfig eth0 x.x.x.x netmask 255.255.255.0 up - #route add default gw y.y.y.y - #echo 'nameserver z.z.z.z' > /etc/resolv.conf - - # activate other eth devices - NETDEVICES="$(awk -F: '/eth[1-9][0-9]*:/{print $1}' /proc/net/dev 2>/dev/null)" - for DEVICE in $NETDEVICES; do - sysctl -q -w net.ipv6.conf.$DEVICE.disable_ipv6=1 - ifconfig $DEVICE mtu 9000 up - done -fi - -# disable ostinato update, makes no sense in this environment -echo -e '# disable ostinato update\n127.0.0.127 update.ostinato.org' >> /etc/hosts - -# start ostinato drone -#sleep 2 -#su -c 'drone < /dev/null > /var/log/ostinato-drone.log 2>&1 &' gns3 -EOF - -exit 0