You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
2.1 KiB
Bash
42 lines
2.1 KiB
Bash
#!/bin/bash
|
|
vmsDir="/home/fanta/vms"
|
|
|
|
function main(){
|
|
downloadSysList
|
|
downloadSysIsos
|
|
}
|
|
|
|
function downloadSysList(){
|
|
mkdir -p $vmsDir
|
|
wget -q "http://fanta.56k.es/q/systems.lst" -O $vmsDir/.systems.lst
|
|
}
|
|
|
|
function downloadSysIsos(){
|
|
while read system; do
|
|
data=("$(echo "$system" | cut -d ";" -f 1)" "$(echo "$system" | cut -d ";" -f 2)" "$(echo "$system" | cut -d ";" -f 3)" "$(echo "$system" | cut -d ";" -f 4)" "$(echo "$system" | cut -d ";" -f 5)" "$(echo "$system" | cut -d ";" -f 6)" "$(echo "$system" | cut -d ";" -f 7)" "$(echo "$system" | cut -d ";" -f 8)")
|
|
isoName="${data[0]}-${data[1]}-${data[2]}.iso"
|
|
url="${data[3]}"
|
|
sizeDisc="${data[4]}"
|
|
sizeRam="${data[5]}"
|
|
extra="${data[6]}"
|
|
echo "[+] Downloading $isoName"
|
|
mkdir -p $vmsDir/${data[0]}-${data[1]}-${data[2]}
|
|
if [ -f "$vmsDir/${data[0]}-${data[1]}-${data[2]}/$isoName" ]; then
|
|
echo " $vmsDir/${data[0]}-${data[1]}-${data[2]}/$isoName exists"
|
|
else
|
|
wget -q $url -O $vmsDir/${data[0]}-${data[1]}-${data[2]}/$isoName
|
|
fi
|
|
echo " Create img [$sizeDisc] $vmsDir/${data[0]}-${data[1]}-${data[2]}/${data[0]}-${data[1]}-${data[2]}.qcow2"
|
|
qemu-img create -q -f qcow2 "$vmsDir/${data[0]}-${data[1]}-${data[2]}/${data[0]}-${data[1]}-${data[2]}.qcow2" $sizeDisc
|
|
echo " Create script $vmsDir/${data[0]}-${data[1]}-${data[2]}/${data[0]}-${data[1]}-${data[2]}.sh"
|
|
echo "#!/bin/bash" > "$vmsDir/${data[0]}-${data[1]}-${data[2]}/${data[0]}-${data[1]}-${data[2]}.sh"
|
|
echo "qemu-system-${data[2]} $extra -m $sizeRam -cdrom $vmsDir/${data[0]}-${data[1]}-${data[2]}/$isoName -hda $vmsDir/${data[0]}-${data[1]}-${data[2]}/${data[0]}-${data[1]}-${data[2]}.qcow2" >> "$vmsDir/${data[0]}-${data[1]}-${data[2]}/${data[0]}-${data[1]}-${data[2]}.sh"
|
|
echo " Create start script"
|
|
echo "#!/bin/bash" > "$vmsDir/${data[0]}-${data[1]}-${data[2]}/start.sh"
|
|
echo "qemu-system-${data[2]} $extra -m $sizeRam -hda $vmsDir/${data[0]}-${data[1]}-${data[2]}/${data[0]}-${data[1]}-${data[2]}.qcow2" > "$vmsDir/${data[0]}-${data[1]}-${data[2]}/start.sh"
|
|
done < $vmsDir/.systems.lst
|
|
}
|
|
|
|
main
|
|
|