coins-demo/runme.sh

35 lines
1.4 KiB
Bash
Raw Normal View History

2020-07-31 00:20:36 +00:00
#!/bin/bash
appdir=$(cd `dirname $0` && pwd)
2020-07-31 11:35:15 +00:00
apptmp='/tmp'
2020-07-31 12:00:40 +00:00
vmsize='12G'
vmmem='4G'
2020-07-31 11:58:45 +00:00
vcpu=`cat /proc/cpuinfo|grep proc|tail -1|awk '{print $NF}'`
k8sdsk="${apptmp}/k8s-demo.raw"
2020-07-31 01:30:03 +00:00
httpboot='http://ftp.debian.org/debian/dists/stretch/main/installer-amd64/current/images/netboot/debian-installer/amd64'
2020-07-31 00:24:05 +00:00
seed='https://git.ix.gs/public/coins-demo/raw/branch/master/contrib/k8s-seed.txt'
2020-07-31 13:00:11 +00:00
qemu="${appdir}/contrib/qemu-system-x86_64 -L ${appdir}/contrib/share/qemu -net nic -net user,net=100.100.100.0/24,hostfwd=tcp::8888-:8888 -m ${vmmem} -smp ${vcpu} -localtime -enable-kvm -cpu host,+nx -M pc -vga std -usbdevice tablet -k en-us -hda ${k8sdsk} -boot once=d -nographic"
2020-07-31 12:36:44 +00:00
wget='wget -cq4O'
2020-07-31 00:20:36 +00:00
###
installvm() {
2020-08-01 18:45:08 +00:00
echo "Allocating ${vmsize} disk..." && \
fallocate -l ${vmsize} ${k8sdsk} && \
echo "Downloading Linux kernel..." && \
${wget} ${apptmp}/kernel ${httpboot}/linux && \
echo "Downloading Initial ramdisk..." && \
${wget} ${apptmp}/initrd ${httpboot}/initrd.gz && \
echo "Preparing K8S VM..." && \
${qemu} -kernel ${apptmp}/kernel -initrd ${apptmp}/initrd -append "console=ttyS0,115200n8 apt-setup/proposed=true nomodeset fb=false priority=critical locale=en_US url=${seed}" && \
echo "Housekeeping..." && \
rm -f ${apptmp}/kernel ${apptmp}/initrd && \
2020-07-31 00:20:36 +00:00
}
runvm() {
echo "Look like we already has VM, let's go"
${qemu}
}
###
if [ ! -f "${k8sdsk}" ]; then
2020-07-31 00:47:35 +00:00
installvm && runvm;
2020-07-31 00:20:36 +00:00
else
runvm;
fi