|
|
@ -36,15 +36,32 @@ function pretty_name() { |
|
|
|
SIMPLE_NAME="${1}" |
|
|
|
SIMPLE_NAME="${1}" |
|
|
|
case ${SIMPLE_NAME} in |
|
|
|
case ${SIMPLE_NAME} in |
|
|
|
alma) PRETTY_NAME="Alma Linux";; |
|
|
|
alma) PRETTY_NAME="Alma Linux";; |
|
|
|
|
|
|
|
alpine) PRETTY_NAME="Alpine Linux";; |
|
|
|
android) PRETTY_NAME="Android x86";; |
|
|
|
android) PRETTY_NAME="Android x86";; |
|
|
|
archlinux) PRETTY_NAME="Arch Linux";; |
|
|
|
archlinux) PRETTY_NAME="Arch Linux";; |
|
|
|
|
|
|
|
arcolinux) PRETTY_NAME="Arco Linux";; |
|
|
|
|
|
|
|
cachyos) PRETTY_NAME="CachyOS";; |
|
|
|
elementary) PRETTY_NAME="elementary OS";; |
|
|
|
elementary) PRETTY_NAME="elementary OS";; |
|
|
|
freebsd) PRETTY_NAME="FreeBSD";; |
|
|
|
freebsd) PRETTY_NAME="FreeBSD";; |
|
|
|
|
|
|
|
gentoo) PRETTY_NAME="Gentoo";; |
|
|
|
garuda) PRETTY_NAME="Garuda Linux";; |
|
|
|
garuda) PRETTY_NAME="Garuda Linux";; |
|
|
|
|
|
|
|
haiku) PRETTY_NAME="Haiku";; |
|
|
|
kdeneon) PRETTY_NAME="KDE Neon";; |
|
|
|
kdeneon) PRETTY_NAME="KDE Neon";; |
|
|
|
|
|
|
|
kolibrios) PRETTY_NAME="KolibriOS";; |
|
|
|
linuxmint-cinnamon) PRETTY_NAME="Linux Mint Cinnamon";; |
|
|
|
linuxmint-cinnamon) PRETTY_NAME="Linux Mint Cinnamon";; |
|
|
|
linuxmint-mate) PRETTY_NAME="Linux Mint MATE";; |
|
|
|
linuxmint-mate) PRETTY_NAME="Linux Mint MATE";; |
|
|
|
linuxmint-xfce) PRETTY_NAME="Linux Mint XFCE";; |
|
|
|
linuxmint-xfce) PRETTY_NAME="Linux Mint XFCE";; |
|
|
|
|
|
|
|
manjaro-xfce) PRETTY_NAME="Manjaro XFCE";; |
|
|
|
|
|
|
|
manjaro-kde) PRETTY_NAME="Manjaro KDE";; |
|
|
|
|
|
|
|
manjaro-gnome) PRETTY_NAME="Manjaro Gnome";; |
|
|
|
|
|
|
|
manjaro-budgie) PRETTY_NAME="Manjaro Budgie";; |
|
|
|
|
|
|
|
manjaro-cinnamon) PRETTY_NAME="Manjaro Cinnamon";; |
|
|
|
|
|
|
|
manjaro-deepin) PRETTY_NAME="Manjaro Deepin";; |
|
|
|
|
|
|
|
manjaro-i3) PRETTY_NAME="Manjaro i3";; |
|
|
|
|
|
|
|
manjaro-mate) PRETTY_NAME="Manjaro MATE";; |
|
|
|
|
|
|
|
mxlinux-xfce) PRETTY_NAME="MX Linux XFCE";; |
|
|
|
|
|
|
|
mxlinux-kde) PRETTY_NAME="MX Linux KDE";; |
|
|
|
|
|
|
|
mxlinux-fluxbox) PRETTY_NAME="MX Linux Fluxbox";; |
|
|
|
nixos-gnome) PRETTY_NAME="NixOS Gnome";; |
|
|
|
nixos-gnome) PRETTY_NAME="NixOS Gnome";; |
|
|
|
nixos-plasma5) PRETTY_NAME="NixOS KDE";; |
|
|
|
nixos-plasma5) PRETTY_NAME="NixOS KDE";; |
|
|
|
nixos-minimal) PRETTY_NAME="NixOS Minimal";; |
|
|
|
nixos-minimal) PRETTY_NAME="NixOS Minimal";; |
|
|
@ -59,6 +76,7 @@ function pretty_name() { |
|
|
|
ubuntu-kylin) PRETTY_NAME="Ubuntu Kylin";; |
|
|
|
ubuntu-kylin) PRETTY_NAME="Ubuntu Kylin";; |
|
|
|
ubuntu-mate) PRETTY_NAME="Ubuntu MATE";; |
|
|
|
ubuntu-mate) PRETTY_NAME="Ubuntu MATE";; |
|
|
|
ubuntu-studio) PRETTY_NAME="Ubuntu Studio";; |
|
|
|
ubuntu-studio) PRETTY_NAME="Ubuntu Studio";; |
|
|
|
|
|
|
|
void) PRETTY_NAME="Void Linux";; |
|
|
|
zorin) PRETTY_NAME="Zorin OS";; |
|
|
|
zorin) PRETTY_NAME="Zorin OS";; |
|
|
|
*) PRETTY_NAME="${SIMPLE_NAME^}";; |
|
|
|
*) PRETTY_NAME="${SIMPLE_NAME^}";; |
|
|
|
esac |
|
|
|
esac |
|
|
@ -111,6 +129,10 @@ function list_csv() { |
|
|
|
FUNC="ubuntu" |
|
|
|
FUNC="ubuntu" |
|
|
|
elif [[ "${OS}" == *"linuxmint"* ]]; then |
|
|
|
elif [[ "${OS}" == *"linuxmint"* ]]; then |
|
|
|
FUNC="linuxmint" |
|
|
|
FUNC="linuxmint" |
|
|
|
|
|
|
|
elif [[ "${OS}" == *"manjaro"* ]]; then |
|
|
|
|
|
|
|
FUNC="manjaro" |
|
|
|
|
|
|
|
elif [[ "${OS}" == *"mxlinux"* ]]; then |
|
|
|
|
|
|
|
FUNC="mxlinux" |
|
|
|
elif [[ "${OS}" == *"nixos"* ]]; then |
|
|
|
elif [[ "${OS}" == *"nixos"* ]]; then |
|
|
|
FUNC="nixos" |
|
|
|
FUNC="nixos" |
|
|
|
else |
|
|
|
else |
|
|
@ -127,8 +149,12 @@ function list_csv() { |
|
|
|
DOWNLOADER="${DL}" |
|
|
|
DOWNLOADER="${DL}" |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]] && [ "${RELEASE}" == "devel" ]; then |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]] && [ "${RELEASE}" == "devel" ]; then |
|
|
|
DOWNLOADER="${DL}" |
|
|
|
DOWNLOADER="${DL}" |
|
|
|
|
|
|
|
elif [ "${OS}" == "cachyos" ]; then |
|
|
|
|
|
|
|
DOWNLOADER="${DL}" |
|
|
|
elif [ "${OS}" == "garuda" ]; then |
|
|
|
elif [ "${OS}" == "garuda" ]; then |
|
|
|
DOWNLOADER="${DL}" |
|
|
|
DOWNLOADER="${DL}" |
|
|
|
|
|
|
|
elif [ "${OS}" == "gentoo" ]; then |
|
|
|
|
|
|
|
DOWNLOADER="${DL}" |
|
|
|
elif [[ "${OS}" == *"kdeneon"* ]]; then |
|
|
|
elif [[ "${OS}" == *"kdeneon"* ]]; then |
|
|
|
DOWNLOADER="${DL}" |
|
|
|
DOWNLOADER="${DL}" |
|
|
|
else |
|
|
|
else |
|
|
@ -161,19 +187,36 @@ function list_csv() { |
|
|
|
|
|
|
|
|
|
|
|
function os_support() { |
|
|
|
function os_support() { |
|
|
|
echo alma \ |
|
|
|
echo alma \ |
|
|
|
|
|
|
|
alpine \ |
|
|
|
android \ |
|
|
|
android \ |
|
|
|
archlinux \ |
|
|
|
archlinux \ |
|
|
|
|
|
|
|
arcolinux \ |
|
|
|
|
|
|
|
cachyos \ |
|
|
|
debian \ |
|
|
|
debian \ |
|
|
|
elementary \ |
|
|
|
elementary \ |
|
|
|
freebsd \ |
|
|
|
freebsd \ |
|
|
|
fedora \ |
|
|
|
fedora \ |
|
|
|
garuda \ |
|
|
|
garuda \ |
|
|
|
|
|
|
|
gentoo \ |
|
|
|
|
|
|
|
haiku \ |
|
|
|
kali \ |
|
|
|
kali \ |
|
|
|
kdeneon \ |
|
|
|
kdeneon \ |
|
|
|
|
|
|
|
kolibrios \ |
|
|
|
kubuntu \ |
|
|
|
kubuntu \ |
|
|
|
linuxmint-cinnamon \ |
|
|
|
linuxmint-cinnamon \ |
|
|
|
linuxmint-mate \ |
|
|
|
linuxmint-mate \ |
|
|
|
linuxmint-xfce \ |
|
|
|
linuxmint-xfce \ |
|
|
|
|
|
|
|
manjaro-xfce \ |
|
|
|
|
|
|
|
manjaro-kde \ |
|
|
|
|
|
|
|
manjaro-gnome \ |
|
|
|
|
|
|
|
manjaro-budgie \ |
|
|
|
|
|
|
|
manjaro-cinnamon \ |
|
|
|
|
|
|
|
manjaro-deepin \ |
|
|
|
|
|
|
|
manjaro-i3 \ |
|
|
|
|
|
|
|
manjaro-mate \ |
|
|
|
|
|
|
|
mxlinux-xfce \ |
|
|
|
|
|
|
|
mxlinux-kde \ |
|
|
|
|
|
|
|
mxlinux-fluxbox \ |
|
|
|
nixos-gnome \ |
|
|
|
nixos-gnome \ |
|
|
|
nixos-plasma5 \ |
|
|
|
nixos-plasma5 \ |
|
|
|
nixos-minimal \ |
|
|
|
nixos-minimal \ |
|
|
@ -186,11 +229,13 @@ function os_support() { |
|
|
|
regolith \ |
|
|
|
regolith \ |
|
|
|
rockylinux \ |
|
|
|
rockylinux \ |
|
|
|
solus \ |
|
|
|
solus \ |
|
|
|
|
|
|
|
tails \ |
|
|
|
ubuntu \ |
|
|
|
ubuntu \ |
|
|
|
ubuntu-budgie \ |
|
|
|
ubuntu-budgie \ |
|
|
|
ubuntu-kylin \ |
|
|
|
ubuntu-kylin \ |
|
|
|
ubuntu-mate \ |
|
|
|
ubuntu-mate \ |
|
|
|
ubuntu-studio \ |
|
|
|
ubuntu-studio \ |
|
|
|
|
|
|
|
void \ |
|
|
|
windows \ |
|
|
|
windows \ |
|
|
|
xubuntu \ |
|
|
|
xubuntu \ |
|
|
|
zorin |
|
|
|
zorin |
|
|
@ -202,6 +247,14 @@ function releases_alma() { |
|
|
|
8.5 |
|
|
|
8.5 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_alpine() { |
|
|
|
|
|
|
|
echo latest \ |
|
|
|
|
|
|
|
3.12 \ |
|
|
|
|
|
|
|
3.13 \ |
|
|
|
|
|
|
|
3.14 \ |
|
|
|
|
|
|
|
3.15 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_android() { |
|
|
|
function releases_android() { |
|
|
|
echo 9.0 \ |
|
|
|
echo 9.0 \ |
|
|
|
8.1 \ |
|
|
|
8.1 \ |
|
|
@ -217,21 +270,28 @@ function releases_archlinux() { |
|
|
|
echo latest |
|
|
|
echo latest |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_arcolinux() { |
|
|
|
|
|
|
|
echo latest |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
# later refactor these DE variants like languages and avoid the arch ? |
|
|
|
# later refactor these DE variants like languages and avoid the arch ? |
|
|
|
# all these are available with a "nonfree" option too |
|
|
|
# all these are available with a "nonfree" option too |
|
|
|
function releases_debian() { |
|
|
|
function releases_debian() { |
|
|
|
echo 11.1.0-amd64-cinnamon \ |
|
|
|
echo cinnamon \ |
|
|
|
11.1.0-amd64-gnome \ |
|
|
|
gnome \ |
|
|
|
11.1.0-amd64-kde \ |
|
|
|
kde \ |
|
|
|
11.1.0-amd64-lxde \ |
|
|
|
lxde \ |
|
|
|
11.1.0-amd64-lxqt \ |
|
|
|
lxqt \ |
|
|
|
11.1.0-amd64-mate \ |
|
|
|
mate \ |
|
|
|
11.1.0-amd64-standard \ |
|
|
|
standard \ |
|
|
|
11.1.0-amd64-xfce |
|
|
|
xfce |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
function releases_cachyos() { |
|
|
|
|
|
|
|
echo 2022.01.09 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_elementary() { |
|
|
|
function releases_elementary() { |
|
|
|
echo 6.0 |
|
|
|
echo 6.1 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_freebsd(){ |
|
|
|
function releases_freebsd(){ |
|
|
@ -245,6 +305,10 @@ function releases_fedora(){ |
|
|
|
35 |
|
|
|
35 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_gentoo(){ |
|
|
|
|
|
|
|
echo latest |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_garuda() { |
|
|
|
function releases_garuda() { |
|
|
|
echo bspwm \ |
|
|
|
echo bspwm \ |
|
|
|
dr460nized \ |
|
|
|
dr460nized \ |
|
|
@ -262,6 +326,11 @@ function releases_garuda() { |
|
|
|
cinnamon |
|
|
|
cinnamon |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_haiku() { |
|
|
|
|
|
|
|
echo r1beta3-x86_64 \ |
|
|
|
|
|
|
|
r1beta3-x86_gcc2h |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_kali() { |
|
|
|
function releases_kali() { |
|
|
|
echo latest \ |
|
|
|
echo latest \ |
|
|
|
weekly |
|
|
|
weekly |
|
|
@ -274,10 +343,18 @@ function releases_kdeneon() { |
|
|
|
developer |
|
|
|
developer |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_kolibrios() { |
|
|
|
|
|
|
|
echo latest |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_linuxmint(){ |
|
|
|
function releases_linuxmint(){ |
|
|
|
echo 20.2 |
|
|
|
echo 20.2 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_mxlinux(){ |
|
|
|
|
|
|
|
echo 21 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_nixos(){ |
|
|
|
function releases_nixos(){ |
|
|
|
echo 21.05 \ |
|
|
|
echo 21.05 \ |
|
|
|
21.11 |
|
|
|
21.11 |
|
|
@ -314,9 +391,20 @@ function releases_macos() { |
|
|
|
monterey |
|
|
|
monterey |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_manjaro() { |
|
|
|
|
|
|
|
case ${OS} in |
|
|
|
|
|
|
|
*xfce|*kde|*gnome) echo full \ |
|
|
|
|
|
|
|
minimal \ |
|
|
|
|
|
|
|
minimal-lts;; |
|
|
|
|
|
|
|
*budgie|*cinnamon|*deepin|*i3|*mate) echo full \ |
|
|
|
|
|
|
|
minimal;; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_popos() { |
|
|
|
function releases_popos() { |
|
|
|
echo 20.04 \ |
|
|
|
echo 20.04 \ |
|
|
|
21.04 |
|
|
|
21.04 \ |
|
|
|
|
|
|
|
21.10 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_regolith() { |
|
|
|
function releases_regolith() { |
|
|
@ -343,6 +431,10 @@ function releases_solus() { |
|
|
|
4.3-plasma |
|
|
|
4.3-plasma |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_tails() { |
|
|
|
|
|
|
|
echo stable |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_ubuntu() { |
|
|
|
function releases_ubuntu() { |
|
|
|
echo bionic \ |
|
|
|
echo bionic \ |
|
|
|
focal \ |
|
|
|
focal \ |
|
|
@ -352,6 +444,13 @@ function releases_ubuntu() { |
|
|
|
canary |
|
|
|
canary |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_void() { |
|
|
|
|
|
|
|
echo base \ |
|
|
|
|
|
|
|
musl \ |
|
|
|
|
|
|
|
xfce \ |
|
|
|
|
|
|
|
xfce-musl |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function languages_windows() { |
|
|
|
function languages_windows() { |
|
|
|
LANGS=(Arabic |
|
|
|
LANGS=(Arabic |
|
|
|
"Brazilian Portuguese" |
|
|
|
"Brazilian Portuguese" |
|
|
@ -513,15 +612,24 @@ function make_vm_config() { |
|
|
|
if [ "${OS}" == "alma" ]; then |
|
|
|
if [ "${OS}" == "alma" ]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [ "${OS}" == "alpine" ]; then |
|
|
|
|
|
|
|
GUEST="linux" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [ "${OS}" == "android" ]; then |
|
|
|
elif [ "${OS}" == "android" ]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [ "${OS}" == "archlinux" ]; then |
|
|
|
elif [ "${OS}" == "archlinux" ]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [ "${OS}" == "arcolinux" ]; then |
|
|
|
|
|
|
|
GUEST="linux" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [ "${OS}" == "debian" ]; then |
|
|
|
elif [ "${OS}" == "debian" ]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [ "${OS}" == "cachyos" ]; then |
|
|
|
|
|
|
|
GUEST="linux" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [ "${OS}" == "elementary" ]; then |
|
|
|
elif [ "${OS}" == "elementary" ]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
@ -537,12 +645,27 @@ function make_vm_config() { |
|
|
|
elif [ "${OS}" == "garuda" ]; then |
|
|
|
elif [ "${OS}" == "garuda" ]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [ "${OS}" == "gentoo" ]; then |
|
|
|
|
|
|
|
GUEST="linux" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [ "${OS}" == "haiku" ]; then |
|
|
|
|
|
|
|
GUEST="haiku" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [ "${OS}" == "kdeneon" ]; then |
|
|
|
elif [ "${OS}" == "kdeneon" ]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [ "${OS}" == "kolibrios" ]; then |
|
|
|
|
|
|
|
GUEST="kolibrios" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [[ "${OS}" == *"linuxmint"* ]]; then |
|
|
|
elif [[ "${OS}" == *"linuxmint"* ]]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [[ "${OS}" == *"manjaro"* ]]; then |
|
|
|
|
|
|
|
GUEST="linux" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [[ "${OS}" == *"mxlinux"* ]]; then |
|
|
|
|
|
|
|
GUEST="linux" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [[ "${OS}" == *"nixos"* ]]; then |
|
|
|
elif [[ "${OS}" == *"nixos"* ]]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
@ -567,9 +690,15 @@ function make_vm_config() { |
|
|
|
elif [ "${OS}" == "solus" ]; then |
|
|
|
elif [ "${OS}" == "solus" ]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [[ "${OS}" == "tails" ]]; then |
|
|
|
|
|
|
|
GUEST="linux" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [ "${OS}" == "void" ]; then |
|
|
|
|
|
|
|
GUEST="linux" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [ "${OS}" == "macos" ]; then |
|
|
|
elif [ "${OS}" == "macos" ]; then |
|
|
|
GUEST="macos" |
|
|
|
GUEST="macos" |
|
|
|
IMAGE_TYPE="img" |
|
|
|
IMAGE_TYPE="img" |
|
|
@ -596,25 +725,48 @@ EOF |
|
|
|
if [ -n "${ISO_FILE}" ]; then |
|
|
|
if [ -n "${ISO_FILE}" ]; then |
|
|
|
echo "fixed_iso=\"${VM_PATH}/${ISO_FILE}\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
echo "fixed_iso=\"${VM_PATH}/${ISO_FILE}\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "alma" ] && [ ${ISOTYPE} == "dvd" ]; then |
|
|
|
if [ "${OS}" == "alma" ] && [ ${ISOTYPE} == "dvd" ]; then |
|
|
|
echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "kolibrios" ]; then |
|
|
|
|
|
|
|
echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "openbsd" ]; then |
|
|
|
if [ "${OS}" == "openbsd" ]; then |
|
|
|
echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "tails" ]; then |
|
|
|
|
|
|
|
echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "macos" ]; then |
|
|
|
if [ "${OS}" == "macos" ]; then |
|
|
|
echo "macos_release=\"${RELEASE}\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
echo "macos_release=\"${RELEASE}\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "cachyos" ]; then |
|
|
|
|
|
|
|
echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "garuda" ]; then |
|
|
|
if [ "${OS}" == "garuda" ]; then |
|
|
|
echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "haiku" ]; then |
|
|
|
|
|
|
|
echo "boot=\"legacy\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
|
|
|
|
echo "disk_size=\"32G\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "oraclelinux" ]; then |
|
|
|
if [ "${OS}" == "oraclelinux" ]; then |
|
|
|
echo "disk_size=\"20G\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
echo "disk_size=\"20G\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "void" ]; then |
|
|
|
|
|
|
|
echo "disk_size=\"20G\"" >> "${OS}-${RELEASE}.conf" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
if [ "${OS}" == "zorin" ]; then |
|
|
|
if [ "${OS}" == "zorin" ]; then |
|
|
|
case ${RELEASE} in |
|
|
|
case ${RELEASE} in |
|
|
|
15education64|15edulite64|15edulite32) |
|
|
|
15education64|15edulite64|15edulite32) |
|
|
@ -692,6 +844,30 @@ function get_alma() { |
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_alpine() { |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
local VERSION="" |
|
|
|
|
|
|
|
local BRANCH="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_alpine" |
|
|
|
|
|
|
|
if [[ "${RELEASE}" == "latest" ]]; then |
|
|
|
|
|
|
|
BRANCH="latest-stable" |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
BRANCH="v${RELEASE}" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
MANIFESTURL="https://dl-cdn.alpinelinux.org/alpine/${BRANCH}/releases/x86_64/latest-releases.yaml" |
|
|
|
|
|
|
|
VERSION=$(wget -qO- "${MANIFESTURL}" | awk '/"Xen"/{found=0} {if(found) print} /"Virtual"/{found=1}' | grep 'version:' | awk '{print $2}') |
|
|
|
|
|
|
|
ISO="alpine-virt-${VERSION}-x86_64.iso" |
|
|
|
|
|
|
|
URL="https://dl-cdn.alpinelinux.org/alpine/${BRANCH}/releases/x86_64/${ISO}" |
|
|
|
|
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
|
|
|
|
HASH=$(wget -qO- "${MANIFESTURL}" | awk '/"Xen"/{found=0} {if(found) print} /"Virtual"/{found=1}' | grep 'sha256:' | awk '{print $2}') |
|
|
|
|
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function get_archlinux() { |
|
|
|
function get_archlinux() { |
|
|
|
local HASH="" |
|
|
|
local HASH="" |
|
|
|
local ISO="" |
|
|
|
local ISO="" |
|
|
@ -708,6 +884,36 @@ function get_archlinux() { |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_arcolinux() { |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
local VERSION="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_arcolinux" |
|
|
|
|
|
|
|
VERSION=$(wget -q -O- 'https://ant.seedhost.eu/arcolinux/.quick/info' | cut -d " " -f 2) |
|
|
|
|
|
|
|
URL="https://ant.seedhost.eu/arcolinux/.quick/" |
|
|
|
|
|
|
|
ISO="arcolinuxl-${VERSION}-x86_64.iso" |
|
|
|
|
|
|
|
HASH=$(wget -q -O- 'https://ant.seedhost.eu/arcolinux/.quick/arcolinuxl-'${VERSION}'-x86_64.iso.sha1' | cut -d " " -f 1) |
|
|
|
|
|
|
|
web_get "${URL}/${ISO}" "${VM_PATH}" |
|
|
|
|
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_cachyos() { |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
local VERSION="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_cachyos" |
|
|
|
|
|
|
|
#ISO="cachyos-cli-${RELEASE}-x86_64.iso" |
|
|
|
|
|
|
|
ISO="cachyos-${RELEASE}-x86_64.iso" |
|
|
|
|
|
|
|
URL="https://mirror.cachyos.org/ISO" |
|
|
|
|
|
|
|
web_get "${URL}/${ISO}" "${VM_PATH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function get_debian() { |
|
|
|
function get_debian() { |
|
|
|
local HASH="" |
|
|
|
local HASH="" |
|
|
@ -741,11 +947,11 @@ function get_elementary() { |
|
|
|
local ISO="" |
|
|
|
local ISO="" |
|
|
|
local URL="" |
|
|
|
local URL="" |
|
|
|
local B66tim="" |
|
|
|
local B66tim="" |
|
|
|
|
|
|
|
local isotag="20211218-rc" |
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_elementary" |
|
|
|
validate_release "releases_elementary" |
|
|
|
B66tim=$(date +%s | base64 ) |
|
|
|
B66tim=$(date +%s | base64 ) |
|
|
|
ISO="elementaryos-${RELEASE}-stable.20211005.iso" |
|
|
|
ISO="elementaryos-${RELEASE}-stable.${isotag}.iso" |
|
|
|
# TODO: derive region from geoIP |
|
|
|
# TODO: derive region from geoIP |
|
|
|
URL="https://ams3.dl.elementary.io/download/${B66tim}=/${ISO}" |
|
|
|
URL="https://ams3.dl.elementary.io/download/${B66tim}=/${ISO}" |
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
@ -793,6 +999,27 @@ function get_fedora() { |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_gentoo() { |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
local LOCAT="" |
|
|
|
|
|
|
|
local INSTALLMIN="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_gentoo" |
|
|
|
|
|
|
|
eval $( wget -O/tmp/gentoolatest https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/${RELEASE}-iso.txt 2>&1 |grep Location | awk '{print "LOCAT="$2}' ) |
|
|
|
|
|
|
|
LOCAT=$(dirname ${LOCAT}) |
|
|
|
|
|
|
|
eval $( awk '/admincd-amd64/ {print "ADMIN="$1}; /install-amd64-minimal/ {print "INSTALLMIN="$1}' /tmp/gentoolatest ) |
|
|
|
|
|
|
|
URL="${LOCAT}/${INSTALLMIN}" |
|
|
|
|
|
|
|
ISO=$(basename "${INSTALLMIN}" ) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
|
|
|
|
HASH=$(wget -q -O- ${LOCAT}/${INSTALLMIN}.DIGESTS|grep -e iso|grep -v -e CONT -e catalyst|cut -d\ -f1) |
|
|
|
|
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function get_kali() { |
|
|
|
function get_kali() { |
|
|
|
local HASH="" |
|
|
|
local HASH="" |
|
|
|
local ISO="" |
|
|
|
local ISO="" |
|
|
@ -828,6 +1055,23 @@ function get_kdeneon() { |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_kolibrios() { |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_kolibrios" |
|
|
|
|
|
|
|
#URL="https://builds.kolibrios.org/eng/${RELEASE}.7z" |
|
|
|
|
|
|
|
ISO="kolibri.iso" |
|
|
|
|
|
|
|
URL="https://builds.kolibrios.org/eng/${ISO}" |
|
|
|
|
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
|
|
|
|
#7z e "${VM_PATH}/${RELEASE}.7z" "kolibri.iso" |
|
|
|
|
|
|
|
#ISO="kolibrios-${RELEASE}.iso" |
|
|
|
|
|
|
|
#mv "kolibri.iso" "${VM_PATH}/${ISO}" |
|
|
|
|
|
|
|
#rm "${VM_PATH}/${RELEASE}.7z" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function get_linuxmint() { |
|
|
|
function get_linuxmint() { |
|
|
|
local FLAVOR="" |
|
|
|
local FLAVOR="" |
|
|
|
local HASH="" |
|
|
|
local HASH="" |
|
|
@ -842,7 +1086,74 @@ function get_linuxmint() { |
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_manjaro() { |
|
|
|
|
|
|
|
local FLAVOR="" |
|
|
|
|
|
|
|
local MANIFESTURL="" |
|
|
|
|
|
|
|
# local ISOKEY="" |
|
|
|
|
|
|
|
local HASHKEY="" |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_manjaro" |
|
|
|
|
|
|
|
FLAVOR=$(echo "${OS}" | cut -d'-' -f2) |
|
|
|
|
|
|
|
case ${FLAVOR} in |
|
|
|
|
|
|
|
xfce|kde|gnome) BRANCH="official";; |
|
|
|
|
|
|
|
budgie|cinnamon|deepin|i3|mate) BRANCH="community";; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [[ ${RELEASE} == "full" ]]; then |
|
|
|
|
|
|
|
KEY="Download_x64 = " |
|
|
|
|
|
|
|
HASHKEY="Download_x64_Checksum = " |
|
|
|
|
|
|
|
elif [[ ${RELEASE} == "minimal" ]]; then |
|
|
|
|
|
|
|
KEY="Download_Minimal_x64 = " |
|
|
|
|
|
|
|
HASHKEY="Download_Minimal_x64_Checksum = " |
|
|
|
|
|
|
|
elif [[ ${RELEASE} == "minimal" ]]; then |
|
|
|
|
|
|
|
KEY="Download_Minimal_lts = " |
|
|
|
|
|
|
|
HASHKEY="Download_Minimal_x64_Checksum_lts = " |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MANIFESTURL="https://gitlab.manjaro.org/webpage/manjaro-homepage/-/raw/master/site/content/downloads/${BRANCH}/${FLAVOR}.md" |
|
|
|
|
|
|
|
URL="$(wget -qO- ${MANIFESTURL} | grep "${KEY}" | awk '{print $3}' | tr -d '"')" |
|
|
|
|
|
|
|
ISO="$(echo $URL | awk -F "/" '{print $6}')" |
|
|
|
|
|
|
|
HASH=$(wget -qO- ${MANIFESTURL} | grep "${HASHKEY}" | awk '{print $3}' | tr -d '"') |
|
|
|
|
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
|
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_mxlinux() { |
|
|
|
|
|
|
|
local FLAVOR="" |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
local BASE_URL="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_mxlinux" |
|
|
|
|
|
|
|
FLAVOR=$(echo "${OS}" | cut -d'-' -f2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [[ "$FLAVOR" == "xfce" ]]; then |
|
|
|
|
|
|
|
ISO="MX-${RELEASE}_x64.iso" |
|
|
|
|
|
|
|
BASE_URL="https://sourceforge.net/projects/mx-linux/files/Final/Xfce/" |
|
|
|
|
|
|
|
elif [[ "$FLAVOR" == "kde" ]]; then |
|
|
|
|
|
|
|
ISO="MX-${RELEASE}_KDE_x64.iso" |
|
|
|
|
|
|
|
BASE_URL="https://sourceforge.net/projects/mx-linux/files/Final/KDE/" |
|
|
|
|
|
|
|
elif [[ "$FLAVOR" == "fluxbox" ]]; then |
|
|
|
|
|
|
|
ISO="MX-${RELEASE}_fluxbox_x64.iso" |
|
|
|
|
|
|
|
BASE_URL="https://sourceforge.net/projects/mx-linux/files/Final/Fluxbox/" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
URL="${BASE_URL}/${ISO}" |
|
|
|
|
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
|
|
|
|
web_get "${URL}.sha256" "${VM_PATH}" |
|
|
|
|
|
|
|
HASH=$(cat "${VM_PATH}/${ISO}.sha256" | cut -d' ' -f1) |
|
|
|
|
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function get_nixos() { |
|
|
|
function get_nixos() { |
|
|
|
local FLAVOR="" |
|
|
|
local FLAVOR="" |
|
|
|
local HASH="" |
|
|
|
local HASH="" |
|
|
@ -857,6 +1168,7 @@ function get_nixos() { |
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
function get_openbsd() { |
|
|
|
function get_openbsd() { |
|
|
|
local HASH="" |
|
|
|
local HASH="" |
|
|
@ -872,6 +1184,40 @@ function get_openbsd() { |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_void() { |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
local HASH_URL="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_void" |
|
|
|
|
|
|
|
DATE=$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | awk 'NR == 1' |cut -d'.' -f1| cut -d'-' -f4) |
|
|
|
|
|
|
|
URL="http://mirror.fit.cvut.cz/voidlinux/live/current" |
|
|
|
|
|
|
|
case ${RELEASE} in |
|
|
|
|
|
|
|
base) |
|
|
|
|
|
|
|
ISO="void-live-x86_64-${DATE}.iso";; |
|
|
|
|
|
|
|
musl) |
|
|
|
|
|
|
|
ISO="void-live-x86_64-musl-${DATE}.iso";; |
|
|
|
|
|
|
|
xfce) |
|
|
|
|
|
|
|
ISO="void-live-x86_64-${DATE}-xfce.iso";; |
|
|
|
|
|
|
|
xfce-musl) |
|
|
|
|
|
|
|
ISO="void-live-x86_64-musl-${DATE}-xfce.iso";; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
case ${RELEASE} in |
|
|
|
|
|
|
|
base) |
|
|
|
|
|
|
|
HASH="$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | grep "void-live-x86_64-${DATE}.iso" | cut -d' ' -f4)";; |
|
|
|
|
|
|
|
musl) |
|
|
|
|
|
|
|
HASH="$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | grep "void-live-x86_64-musl-${DATE}.iso" | cut -d' ' -f4)";; |
|
|
|
|
|
|
|
xfce) |
|
|
|
|
|
|
|
HASH="$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | grep "void-live-x86_64-${DATE}-xfce.iso" | cut -d' ' -f4)";; |
|
|
|
|
|
|
|
xfce-musl) |
|
|
|
|
|
|
|
HASH="$(wget -q -O- "https://mirror.fit.cvut.cz/voidlinux/live/current/sha256sum.txt" | grep "void-live-x86_64-musl-${DATE}.iso" | cut -d' ' -f4)";; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
web_get "${URL}/${ISO}" "${VM_PATH}" |
|
|
|
|
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function get_zorin() { |
|
|
|
function get_zorin() { |
|
|
|
local ISO="" |
|
|
|
local ISO="" |
|
|
|
local URL="" |
|
|
|
local URL="" |
|
|
@ -941,10 +1287,14 @@ function get_opensuse() { |
|
|
|
ISO="openSUSE-MicroOS-DVD-x86_64-Current.iso" |
|
|
|
ISO="openSUSE-MicroOS-DVD-x86_64-Current.iso" |
|
|
|
URL="https://download.opensuse.org/tumbleweed/iso/${ISO}" |
|
|
|
URL="https://download.opensuse.org/tumbleweed/iso/${ISO}" |
|
|
|
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) |
|
|
|
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) |
|
|
|
else |
|
|
|
elif [ "$RELEASE" == 15.0 ] || [ "$RELEASE" == 15.1 ]; then |
|
|
|
ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64.iso" |
|
|
|
ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64.iso" |
|
|
|
URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}" |
|
|
|
URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}" |
|
|
|
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) |
|
|
|
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
ISO="openSUSE-Leap-${RELEASE}-DVD-x86_64-Current.iso" |
|
|
|
|
|
|
|
URL="https://download.opensuse.org/distribution/leap/${RELEASE}/iso/${ISO}" |
|
|
|
|
|
|
|
HASH=$(wget -q -O- "${URL}.sha256" | cut -d' ' -f1) |
|
|
|
fi |
|
|
|
fi |
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
@ -1100,6 +1450,18 @@ function get_regolith() { |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_tails() { |
|
|
|
|
|
|
|
validate_release "releases_tails" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RELEASE_JSON_URL="https://tails.boum.org/install/v2/Tails/amd64/${RELEASE}/latest.json" |
|
|
|
|
|
|
|
RELEASE_JSON="$(wget -q -O- "$RELEASE_JSON_URL")" |
|
|
|
|
|
|
|
URL=$(echo "$RELEASE_JSON" | jq -r '.installations[0]."installation-paths"[]|select(.type=="iso")|."target-files"[0].url') |
|
|
|
|
|
|
|
HASH=$(echo "$RELEASE_JSON" | jq -r '.installations[0]."installation-paths"[]|select(.type=="iso")|."target-files"[0].sha256') |
|
|
|
|
|
|
|
ISO=$(echo "${URL}" | sed -e "s/.*\/\([^\/]*\)$/\1/") |
|
|
|
|
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
|
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function get_ubuntu() { |
|
|
|
function get_ubuntu() { |
|
|
|
local DEVEL="daily-live" |
|
|
|
local DEVEL="daily-live" |
|
|
@ -1149,6 +1511,7 @@ function get_ubuntu() { |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
fi |
|
|
|
fi |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function get_garuda() { |
|
|
|
function get_garuda() { |
|
|
|
local HASH="" |
|
|
|
local HASH="" |
|
|
|
local ISO="" |
|
|
|
local ISO="" |
|
|
@ -1185,6 +1548,21 @@ function get_garuda() { |
|
|
|
make_vm_config "${OS}-${RELEASE}.iso" |
|
|
|
make_vm_config "${OS}-${RELEASE}.iso" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_haiku() { |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_haiku" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ISO="haiku-${RELEASE}-anyboot.iso" |
|
|
|
|
|
|
|
URL="https://cdn.haiku-os.org/haiku-release/$(echo $RELEASE | awk -F '-' '{print $1}')/${ISO}" |
|
|
|
|
|
|
|
HASH=$(wget -q -O- ${URL}.sha256 | grep "${ISO}" | cut -d' ' -f4) |
|
|
|
|
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
|
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function unattended_windows() { |
|
|
|
function unattended_windows() { |
|
|
|
cat << 'EOF' > "${1}" |
|
|
|
cat << 'EOF' > "${1}" |
|
|
|
<?xml version="1.0" encoding="utf-8"?> |
|
|
|
<?xml version="1.0" encoding="utf-8"?> |
|
|
@ -1480,7 +1858,6 @@ function unattended_windows() { |
|
|
|
EOF |
|
|
|
EOF |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function dbg_windows() { |
|
|
|
function dbg_windows() { |
|
|
|
local DEBUG=0 |
|
|
|
local DEBUG=0 |
|
|
|
if [ ${DEBUG} -eq 1 ]; then |
|
|
|
if [ ${DEBUG} -eq 1 ]; then |
|
|
@ -1623,10 +2000,16 @@ if [ -n "${2}" ]; then |
|
|
|
fi |
|
|
|
fi |
|
|
|
VM_PATH="${OS}-${RELEASE}-${ISOTYPE}" |
|
|
|
VM_PATH="${OS}-${RELEASE}-${ISOTYPE}" |
|
|
|
get_alma "${ISOTYPE}" |
|
|
|
get_alma "${ISOTYPE}" |
|
|
|
|
|
|
|
elif [ "${OS}" == "alpine" ]; then |
|
|
|
|
|
|
|
get_alpine |
|
|
|
elif [ "${OS}" == "android" ]; then |
|
|
|
elif [ "${OS}" == "android" ]; then |
|
|
|
get_android |
|
|
|
get_android |
|
|
|
elif [ "${OS}" == "archlinux" ]; then |
|
|
|
elif [ "${OS}" == "archlinux" ]; then |
|
|
|
get_archlinux |
|
|
|
get_archlinux |
|
|
|
|
|
|
|
elif [ "${OS}" == "arcolinux" ]; then |
|
|
|
|
|
|
|
get_arcolinux |
|
|
|
|
|
|
|
elif [ "${OS}" == "void" ]; then |
|
|
|
|
|
|
|
get_void |
|
|
|
elif [ "${OS}" == "debian" ]; then |
|
|
|
elif [ "${OS}" == "debian" ]; then |
|
|
|
if [ -n "${3}" ]; then |
|
|
|
if [ -n "${3}" ]; then |
|
|
|
FREEDOM="${3}" |
|
|
|
FREEDOM="${3}" |
|
|
@ -1653,12 +2036,24 @@ if [ -n "${2}" ]; then |
|
|
|
get_fedora |
|
|
|
get_fedora |
|
|
|
elif [ "${OS}" == "garuda" ]; then |
|
|
|
elif [ "${OS}" == "garuda" ]; then |
|
|
|
get_garuda |
|
|
|
get_garuda |
|
|
|
|
|
|
|
elif [ "${OS}" == "cachyos" ]; then |
|
|
|
|
|
|
|
get_cachyos |
|
|
|
|
|
|
|
elif [ "${OS}" == "gentoo" ]; then |
|
|
|
|
|
|
|
get_gentoo |
|
|
|
|
|
|
|
elif [ "${OS}" == "haiku" ]; then |
|
|
|
|
|
|
|
get_haiku |
|
|
|
elif [ "${OS}" == "kali" ]; then |
|
|
|
elif [ "${OS}" == "kali" ]; then |
|
|
|
get_kali |
|
|
|
get_kali |
|
|
|
elif [ "${OS}" == "kdeneon" ]; then |
|
|
|
elif [ "${OS}" == "kdeneon" ]; then |
|
|
|
get_kdeneon |
|
|
|
get_kdeneon |
|
|
|
|
|
|
|
elif [ "${OS}" == "kolibrios" ]; then |
|
|
|
|
|
|
|
get_kolibrios |
|
|
|
elif [[ "${OS}" == *"linuxmint-"* ]]; then |
|
|
|
elif [[ "${OS}" == *"linuxmint-"* ]]; then |
|
|
|
get_linuxmint |
|
|
|
get_linuxmint |
|
|
|
|
|
|
|
elif [[ "${OS}" == *"manjaro-"* ]]; then |
|
|
|
|
|
|
|
get_manjaro |
|
|
|
|
|
|
|
elif [[ "${OS}" == *"mxlinux-"* ]]; then |
|
|
|
|
|
|
|
get_mxlinux |
|
|
|
elif [[ "${OS}" == *"nixos-"* ]]; then |
|
|
|
elif [[ "${OS}" == *"nixos-"* ]]; then |
|
|
|
get_nixos |
|
|
|
get_nixos |
|
|
|
elif [ "${OS}" == "openbsd" ]; then |
|
|
|
elif [ "${OS}" == "openbsd" ]; then |
|
|
@ -1703,6 +2098,8 @@ if [ -n "${2}" ]; then |
|
|
|
get_rocky "${ISOTYPE}" |
|
|
|
get_rocky "${ISOTYPE}" |
|
|
|
elif [ "${OS}" == "solus" ]; then |
|
|
|
elif [ "${OS}" == "solus" ]; then |
|
|
|
get_solus |
|
|
|
get_solus |
|
|
|
|
|
|
|
elif [[ "${OS}" == "tails"* ]]; then |
|
|
|
|
|
|
|
get_tails |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
get_ubuntu |
|
|
|
get_ubuntu |
|
|
|
elif [ "${OS}" == "windows" ]; then |
|
|
|
elif [ "${OS}" == "windows" ]; then |
|
|
@ -1730,10 +2127,14 @@ else |
|
|
|
echo -n "ERROR! You must specify a release: " |
|
|
|
echo -n "ERROR! You must specify a release: " |
|
|
|
if [ "${OS}" == "alma" ]; then |
|
|
|
if [ "${OS}" == "alma" ]; then |
|
|
|
releases_alma |
|
|
|
releases_alma |
|
|
|
|
|
|
|
elif [ "${OS}" == "alpine" ]; then |
|
|
|
|
|
|
|
releases_alpine |
|
|
|
elif [ "${OS}" == "android" ]; then |
|
|
|
elif [ "${OS}" == "android" ]; then |
|
|
|
releases_android |
|
|
|
releases_android |
|
|
|
elif [ "${OS}" == "archlinux" ]; then |
|
|
|
elif [ "${OS}" == "archlinux" ]; then |
|
|
|
releases_archlinux |
|
|
|
releases_archlinux |
|
|
|
|
|
|
|
elif [ "${OS}" == "arcolinux" ]; then |
|
|
|
|
|
|
|
releases_arcolinux |
|
|
|
elif [ "${OS}" == "debian" ]; then |
|
|
|
elif [ "${OS}" == "debian" ]; then |
|
|
|
releases_debian |
|
|
|
releases_debian |
|
|
|
elif [ "${OS}" == "elementary" ]; then |
|
|
|
elif [ "${OS}" == "elementary" ]; then |
|
|
@ -1744,10 +2145,22 @@ else |
|
|
|
releases_fedora |
|
|
|
releases_fedora |
|
|
|
elif [ "${OS}" == "garuda" ]; then |
|
|
|
elif [ "${OS}" == "garuda" ]; then |
|
|
|
releases_garuda |
|
|
|
releases_garuda |
|
|
|
|
|
|
|
elif [ "${OS}" == "cachyos" ]; then |
|
|
|
|
|
|
|
releases_cachyos |
|
|
|
|
|
|
|
elif [ "${OS}" == "gentoo" ]; then |
|
|
|
|
|
|
|
releases_gentoo |
|
|
|
|
|
|
|
elif [ "${OS}" == "haiku" ]; then |
|
|
|
|
|
|
|
releases_haiku |
|
|
|
elif [ "${OS}" == "kali" ]; then |
|
|
|
elif [ "${OS}" == "kali" ]; then |
|
|
|
releases_kali |
|
|
|
releases_kali |
|
|
|
|
|
|
|
elif [ "${OS}" == "kolibrios" ]; then |
|
|
|
|
|
|
|
releases_kolibrios |
|
|
|
elif [[ "${OS}" == *"linuxmint-"* ]]; then |
|
|
|
elif [[ "${OS}" == *"linuxmint-"* ]]; then |
|
|
|
releases_linuxmint |
|
|
|
releases_linuxmint |
|
|
|
|
|
|
|
elif [[ "${OS}" == *"manjaro-"* ]]; then |
|
|
|
|
|
|
|
releases_manjaro |
|
|
|
|
|
|
|
elif [[ "${OS}" == *"mxlinux-"* ]]; then |
|
|
|
|
|
|
|
releases_mxlinux |
|
|
|
elif [[ "${OS}" == *"nixos-"* ]]; then |
|
|
|
elif [[ "${OS}" == *"nixos-"* ]]; then |
|
|
|
releases_nixos |
|
|
|
releases_nixos |
|
|
|
elif [ "${OS}" == "opensuse" ]; then |
|
|
|
elif [ "${OS}" == "opensuse" ]; then |
|
|
@ -1766,8 +2179,12 @@ else |
|
|
|
releases_rockylinux |
|
|
|
releases_rockylinux |
|
|
|
elif [ "${OS}" == "solus" ]; then |
|
|
|
elif [ "${OS}" == "solus" ]; then |
|
|
|
releases_solus |
|
|
|
releases_solus |
|
|
|
|
|
|
|
elif [[ "${OS}" == "tails"* ]]; then |
|
|
|
|
|
|
|
releases_tails |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
releases_ubuntu |
|
|
|
releases_ubuntu |
|
|
|
|
|
|
|
elif [ "${OS}" == "void" ]; then |
|
|
|
|
|
|
|
releases_void |
|
|
|
elif [ "${OS}" == "windows" ]; then |
|
|
|
elif [ "${OS}" == "windows" ]; then |
|
|
|
releases_windows |
|
|
|
releases_windows |
|
|
|
elif [ "${OS}" == "zorin" ]; then |
|
|
|
elif [ "${OS}" == "zorin" ]; then |
|
|
|