feat: add deepin support (#475)

add deepin v20 support

Log:

Co-authored-by: Heysion Y <heysion@deepin.com>
This commit is contained in:
Heysion 2022-07-24 08:15:52 +08:00 committed by GitHub
parent 790c626993
commit f061991b67
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -166,6 +166,7 @@ function os_support() {
cachyos \
centos-stream \
debian \
deepin \
devuan \
dragonflybsd \
elementary \
@ -261,6 +262,10 @@ function editions_debian() {
echo standard cinnamon gnome kde lxde lxqt mate xfce netinst
}
function releases_deepin() {
echo 20 20.1 20.2 20.2.1 20.2.2 20.2.3 20.2.4 20.3 20.4 20.5
}
function releases_devuan() {
echo beowulf chimaera
}
@ -733,6 +738,10 @@ EOF
case ${OS} in
alma|centos-stream|oraclelinux|rockylinux) echo "disk_size=\"32G\"" >> "${CONF_FILE}";;
dragonflybsd|haiku|openbsd|netbsd|slackware|tails) echo "boot=\"legacy\"" >> "${CONF_FILE}";;
deepin)
echo "disk_size=\"64G\"" >> "${CONF_FILE}"
echo "ram=\"4G\"" >> "${CONF_FILE}"
;;
freedos)
echo "boot=\"legacy\"" >> "${CONF_FILE}"
echo "disk_size=\"4G\"" >> "${CONF_FILE}"
@ -884,6 +893,30 @@ function get_debian() {
echo "${URL}/${ISO} ${HASH}"
}
function get_deepin() {
local HASH=""
local EDITION=""
local ISO="deepin-desktop-community-${RELEASE}-amd64.iso"
# deepin-desktop-community-20.3-amd64.iso
local URL="https://cdimage.deepin.com/releases/"${RELEASE}
# fix iso name
if [[ "${RELEASE}" == *"20" ]] ; then
EDITION="1003"
ISO="deepin-desktop-community-${EDITION}-amd64.iso"
elif [[ "${RELEASE}" == *"20.1" ]]; then
EDITION="1010"
ISO="deepin-desktop-community-${EDITION}-amd64.iso"
fi
HASH=$(wget -q -O- "${URL}/SHA256SUMS" | grep "${ISO}" | cut -d' ' -f1)
#echo "${URL}/${ISO} ${HASH}"
web_get "${URL}/${ISO}" "${VM_PATH}"
check_hash "${ISO}" "${HASH}"
make_vm_config "${ISO}"
}
function get_devuan() {
local HASH=""
local ISO=""
@ -1867,6 +1900,10 @@ if [ -n "${2}" ]; then
# Ubuntu doesn't use create_vm()
validate_release releases_ubuntu
get_ubuntu
elif [[ "${OS}" == *"deepin"* ]]; then
# deepin doesn't use create_vm()
validate_release releases_deepin
get_deepin
elif [ "${OS}" == "windows" ]; then
LANG="English International"
if [ -n "${3}" ]; then