|
|
@ -48,6 +48,7 @@ function pretty_name() { |
|
|
|
openbsd) PRETTY_NAME="OpenBSD";; |
|
|
|
openbsd) PRETTY_NAME="OpenBSD";; |
|
|
|
opensuse) PRETTY_NAME="openSUSE";; |
|
|
|
opensuse) PRETTY_NAME="openSUSE";; |
|
|
|
popos) PRETTY_NAME="Pop!_OS";; |
|
|
|
popos) PRETTY_NAME="Pop!_OS";; |
|
|
|
|
|
|
|
rockylinux) PRETTY_NAME="Rocky Linux";; |
|
|
|
ubuntu-budgie) PRETTY_NAME="Ubuntu Budgie";; |
|
|
|
ubuntu-budgie) PRETTY_NAME="Ubuntu Budgie";; |
|
|
|
ubuntu-kylin) PRETTY_NAME="Ubuntu Kylin";; |
|
|
|
ubuntu-kylin) PRETTY_NAME="Ubuntu Kylin";; |
|
|
|
ubuntu-mate) PRETTY_NAME="Ubuntu MATE";; |
|
|
|
ubuntu-mate) PRETTY_NAME="Ubuntu MATE";; |
|
|
@ -143,6 +144,7 @@ function os_support() { |
|
|
|
openbsd \ |
|
|
|
openbsd \ |
|
|
|
opensuse \ |
|
|
|
opensuse \ |
|
|
|
popos \ |
|
|
|
popos \ |
|
|
|
|
|
|
|
rockylinux \ |
|
|
|
ubuntu \ |
|
|
|
ubuntu \ |
|
|
|
ubuntu-budgie \ |
|
|
|
ubuntu-budgie \ |
|
|
|
ubuntu-kylin \ |
|
|
|
ubuntu-kylin \ |
|
|
@ -221,6 +223,14 @@ function releases_popos() { |
|
|
|
21.04 |
|
|
|
21.04 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function releases_rockylinux() { |
|
|
|
|
|
|
|
echo 8.4 \ |
|
|
|
|
|
|
|
8.3 \ |
|
|
|
|
|
|
|
8.2 \ |
|
|
|
|
|
|
|
8.1 \ |
|
|
|
|
|
|
|
8.0 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function releases_ubuntu() { |
|
|
|
function releases_ubuntu() { |
|
|
|
echo bionic \ |
|
|
|
echo bionic \ |
|
|
|
focal \ |
|
|
|
focal \ |
|
|
@ -593,6 +603,9 @@ function make_vm_config() { |
|
|
|
elif [ "${OS}" == "popos" ]; then |
|
|
|
elif [ "${OS}" == "popos" ]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
|
|
|
|
elif [ "${OS}" == "rockylinux" ]; then |
|
|
|
|
|
|
|
GUEST="linux" |
|
|
|
|
|
|
|
IMAGE_TYPE="iso" |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
GUEST="linux" |
|
|
|
GUEST="linux" |
|
|
|
IMAGE_TYPE="iso" |
|
|
|
IMAGE_TYPE="iso" |
|
|
@ -803,6 +816,25 @@ function get_openbsd() { |
|
|
|
make_vm_config "${ISO}" |
|
|
|
make_vm_config "${ISO}" |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_rocky() { |
|
|
|
|
|
|
|
local HASH="" |
|
|
|
|
|
|
|
local ISO="" |
|
|
|
|
|
|
|
local URL="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
local arch="x86_64" |
|
|
|
|
|
|
|
local baseurl="https://download.rockylinux.org/pub/rocky/${RELEASE}/isos/${arch}" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
validate_release "releases_rockylinux" |
|
|
|
|
|
|
|
ISO="Rocky-${RELEASE}-${arch}-${ISOTYPE}.iso" |
|
|
|
|
|
|
|
URL="${baseurl}/${ISO}" |
|
|
|
|
|
|
|
HASH=$(wget -q -O- "${baseurl}/CHECKSUM" | grep "SHA256 (${ISO})" | grep -E -i -w -o '[0-9a-z]{64}') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
web_get "${URL}" "${VM_PATH}" |
|
|
|
|
|
|
|
check_hash "${ISO}" "${HASH}" |
|
|
|
|
|
|
|
make_vm_config "${ISO}" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function get_opensuse() { |
|
|
|
function get_opensuse() { |
|
|
|
local HASH="" |
|
|
|
local HASH="" |
|
|
|
local ISO="" |
|
|
|
local ISO="" |
|
|
@ -1101,6 +1133,22 @@ if [ -n "${2}" ]; then |
|
|
|
fi |
|
|
|
fi |
|
|
|
VM_PATH="${OS}-${RELEASE}-${DRIVER}" |
|
|
|
VM_PATH="${OS}-${RELEASE}-${DRIVER}" |
|
|
|
get_popos "${DRIVER}" |
|
|
|
get_popos "${DRIVER}" |
|
|
|
|
|
|
|
elif [ "${OS}" == "rockylinux" ]; then |
|
|
|
|
|
|
|
if [ -n "${3}" ]; then |
|
|
|
|
|
|
|
ISOTYPE="${3}" |
|
|
|
|
|
|
|
ISOTYPES=(minimal dvd1 boot) |
|
|
|
|
|
|
|
if [[ ! ${ISOTYPES[*]} =~ ${ISOTYPE} ]]; then |
|
|
|
|
|
|
|
echo "iso ${ISOTYPE} is not supported:" |
|
|
|
|
|
|
|
for ISOTYPE in "${ISOTYPES[@]}"; do |
|
|
|
|
|
|
|
echo "${ISOTYPE}" |
|
|
|
|
|
|
|
done |
|
|
|
|
|
|
|
exit 1 |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
ISOTYPE="dvd1" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
VM_PATH="${OS}-${RELEASE}-${ISOTYPE}" |
|
|
|
|
|
|
|
get_rocky "${ISOTYPE}" |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
elif [[ "${OS}" == *"ubuntu"* ]]; then |
|
|
|
get_ubuntu |
|
|
|
get_ubuntu |
|
|
|
elif [ "${OS}" == "windows" ]; then |
|
|
|
elif [ "${OS}" == "windows" ]; then |
|
|
|