initial icaros support
Fetches and prepares VM but booting the iso tends to imitate Guru Meditation or black screen of limbo or boot loops. Will need more effort to get to a running live system
This commit is contained in:
parent
8ee0d3a207
commit
0966654439
10
quickemu
10
quickemu
@ -468,7 +468,7 @@ function vm_boot() {
|
||||
|
||||
# Make any OS specific adjustments
|
||||
case ${guest_os} in
|
||||
batocera|*bsd|freedos|haiku|linux|*solaris)
|
||||
icaros|batocera|*bsd|freedos|haiku|linux|*solaris)
|
||||
CPU="-cpu host,kvm=on"
|
||||
if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then
|
||||
CPU="${CPU},topoext"
|
||||
@ -476,7 +476,7 @@ function vm_boot() {
|
||||
|
||||
if [ "${guest_os}" == "freebsd" ] || [ "${guest_os}" == "ghostbsd" ]; then
|
||||
MOUSE="usb"
|
||||
elif [ "${guest_os}" == "batocera" ] || [ "${guest_os}" == "freedos" ] || [ "${guest_os}" == "haiku" ]; then
|
||||
elif [ "${guest_os}" == "icaros" ] || [ "${guest_os}" == "batocera" ] || [ "${guest_os}" == "freedos" ] || [ "${guest_os}" == "haiku" ]; then
|
||||
MACHINE_TYPE="pc"
|
||||
NET_DEVICE="rtl8139"
|
||||
fi
|
||||
@ -1099,6 +1099,12 @@ function vm_boot() {
|
||||
args+=(-device ahci,id=ahci
|
||||
-device ide-hd,bus=ahci.0,drive=SystemDisk
|
||||
-drive id=SystemDisk,if=none,format=qcow2,file="${disk_img}" ${STATUS_QUO})
|
||||
elif [ "${guest_os}" == "icaros" ]; then
|
||||
# shellcheck disable=SC2054,SC2206
|
||||
args+=(-device ahci,id=ahci
|
||||
-device ide-hd,bus=ahci.0,drive=SystemDisk
|
||||
-drive id=SystemDisk,if=none,index=1,format=qcow2,file="${disk_img}" ${STATUS_QUO}
|
||||
-boot order=d,menu=on)
|
||||
|
||||
elif [ "${guest_os}" == "batocera" ] ; then
|
||||
# shellcheck disable=SC2054,SC2206
|
||||
|
93
quickget
93
quickget
@ -36,6 +36,7 @@ function pretty_name() {
|
||||
archlinux) PRETTY_NAME="Arch Linux";;
|
||||
archcraft) PRETTY_NAME="Archcraft";;
|
||||
arcolinux) PRETTY_NAME="Arco Linux";;
|
||||
icaros) PRETTY_NAME="icaros desktop";;
|
||||
blendos) PRETTY_NAME="BlendOS";;
|
||||
cachyos) PRETTY_NAME="CachyOS";;
|
||||
centos-stream) PRETTY_NAME="CentOS Stream";;
|
||||
@ -195,6 +196,7 @@ function os_support() {
|
||||
gentoo \
|
||||
ghostbsd \
|
||||
haiku \
|
||||
icaros \
|
||||
kali \
|
||||
kdeneon \
|
||||
kolibrios \
|
||||
@ -274,6 +276,12 @@ function releases_arcolinux() {
|
||||
function editions_arcolinux() {
|
||||
echo large small
|
||||
}
|
||||
function editions_icaros() {
|
||||
echo live light
|
||||
}
|
||||
function releases_icaros() {
|
||||
echo 2.3.0 2.2.8 2.2.7 2.2.6 2.2.5
|
||||
}
|
||||
|
||||
function releases_blendos() {
|
||||
local RLIST
|
||||
@ -774,19 +782,19 @@ function web_get() {
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if command -v aria2c &>/dev/null; then
|
||||
if ! aria2c --stderr -x16 --continue=true --summary-interval=0 --download-result=hide --console-log-level=error "${URL}" --dir "${DIR}" -o "${FILE}"; then
|
||||
if command -v aria2c &>/dev/null; then
|
||||
if ! aria2c --stderr -x16 --continue=true --summary-interval=0 --download-result=hide --console-log-level=error "${URL}" --dir "${DIR}" -o "${FILE}"; then
|
||||
echo #Necessary as aria2c in suppressed mode does not have new lines
|
||||
echo "ERROR! Failed to download ${URL} with aria2c. Try running 'quickget' again."
|
||||
exit 1
|
||||
fi
|
||||
echo #Necessary as aria2c in suppressed mode does not have new lines
|
||||
echo "ERROR! Failed to download ${URL} with aria2c. Try running 'quickget' again."
|
||||
exit 1
|
||||
fi
|
||||
echo #Necessary as aria2c in suppressed mode does not have new lines
|
||||
else
|
||||
if ! wget --quiet --continue --show-progress --progress=bar:force:noscroll "${URL}" -O "${DIR}/${FILE}"; then
|
||||
echo "ERROR! Failed to download ${URL} with wget. Try running 'quickget' again."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if ! wget --quiet --continue --show-progress --progress=bar:force:noscroll "${URL}" -O "${DIR}/${FILE}"; then
|
||||
echo "ERROR! Failed to download ${URL} with wget. Try running 'quickget' again."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function zsync_get() {
|
||||
@ -837,6 +845,9 @@ function make_vm_config() {
|
||||
IMAGE_FILE="${1}"
|
||||
ISO_FILE="${2}"
|
||||
case "${OS}" in
|
||||
icaros)
|
||||
GUEST="icaros"
|
||||
IMAGE_TYPE="iso";;
|
||||
batocera)
|
||||
GUEST="batocera"
|
||||
IMAGE_TYPE="img";;
|
||||
@ -948,6 +959,9 @@ EOF
|
||||
echo "disk_size=\"12G\"" >> "${CONF_FILE}"
|
||||
echo "ram=\"2048M\"" >> "${CONF_FILE}"
|
||||
;;
|
||||
arosone|icaros)
|
||||
echo "boot=\"legacy\"" >> "${CONF_FILE}"
|
||||
;;
|
||||
macos)
|
||||
echo "macos_release=\"${RELEASE}\"" >> "${CONF_FILE}"
|
||||
# https://github.com/quickemu-project/quickemu/issues/438
|
||||
@ -1051,6 +1065,56 @@ function get_arcolinux() {
|
||||
echo "${URL}/${ISO} ${HASH}"
|
||||
}
|
||||
|
||||
function get_icaros() {
|
||||
|
||||
local EDITION="${1:-}"
|
||||
local ISO="Icaros${EDITION^}_${RELEASE//./_}.zip"
|
||||
local URL="http://www.icarosdesktop.com/icarosfiles/"
|
||||
local HASH=""
|
||||
case ${EDITION} in
|
||||
Live|live)
|
||||
case ${RELEASE} in
|
||||
2.3.0)
|
||||
HASH="f2e4fdbc71f48e35dccfe6c26ae07a8f" #
|
||||
;;
|
||||
2.2.8)
|
||||
HASH="abb77ec6968f3a0823ba527bc0f73ce2"
|
||||
;;
|
||||
2.2.7)
|
||||
HASH="d75c1fdc3a3ec6813c0ae768ea43eb47"
|
||||
;;
|
||||
2.2.6)
|
||||
HASH="a518574abd6fcbb846f9fd6ae7fa36ec"
|
||||
;;
|
||||
2.2.5)
|
||||
HASH="a89ec32c30a10bd4c551bee3b902740d"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
Light|light)
|
||||
case ${RELEASE} in
|
||||
2.3.0)
|
||||
HASH="a469a92982842303bbe904efe1d09ea6"
|
||||
;;
|
||||
2.2.8)
|
||||
HASH="d8a626c732a6ab3be256ab0007d72b94"
|
||||
;;
|
||||
2.2.7)
|
||||
HASH="50a2dc2c544b38c48e44f865c84d7824"
|
||||
;;
|
||||
2.2.6)
|
||||
HASH="57366ac7a629f8dbe8da999f9b84eb91"
|
||||
;;
|
||||
2.2.5)
|
||||
HASH="e4f5817ec32086b698948c6fc899aec3"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
echo "${URL}"/"${ISO}" "${HASH}"
|
||||
}
|
||||
|
||||
function get_blendos() {
|
||||
local EDITION="${1:-}"
|
||||
local HASH=""
|
||||
@ -2246,6 +2310,11 @@ create_vm() {
|
||||
ISO=$(ls ${VM_PATH} | grep -i '.iso' | grep -v '.zip')
|
||||
fi
|
||||
|
||||
if [ ${OS} == "icaros" ] && [[ $ISO =~ ".zip" ]]; then
|
||||
unzip -j ${VM_PATH}/${ISO} -d ${VM_PATH}
|
||||
ISO=$(ls ${VM_PATH} | grep -i '.iso' | grep -v '.zip')
|
||||
fi
|
||||
|
||||
make_vm_config "${ISO}"
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user