diff --git a/quickemu b/quickemu index 261b784..f162138 100755 --- a/quickemu +++ b/quickemu @@ -485,6 +485,15 @@ function vm_boot() { disk_size="16G" fi ;; + batocera) + CPU="-cpu host,kvm=on" + if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then + CPU="${CPU},topoext" + fi + MACHINE_TYPE="pc" + NET_DEVICE="rtl8139" + disk_size="8G" + ;; kolibrios) CPU="-cpu qemu32,kvm=on" if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then @@ -1024,6 +1033,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}" == "batocera" ] ; then + # shellcheck disable=SC2054,SC2206 + args+=(-device virtio-blk-pci,drive=BootDisk + -drive id=BootDisk,if=none,format=raw,file="${img}" + -device virtio-blk-pci,drive=SystemDisk + -drive id=SystemDisk,if=none,format=qcow2,file="${disk_img}" ${STATUS_QUO}) else # shellcheck disable=SC2054,SC2206 args+=(-device virtio-blk-pci,drive=SystemDisk diff --git a/quickget b/quickget index a530d8b..e62c863 100755 --- a/quickget +++ b/quickget @@ -160,6 +160,7 @@ function os_support() { android \ archlinux \ arcolinux \ + batocera \ cachyos \ debian \ devuan \ @@ -264,6 +265,10 @@ function releases_fedora() { echo 33 34 35 } +function releases_batocera() { + echo 33 +} + function editions_fedora() { echo Workstation \ Cinnamon \ @@ -662,6 +667,9 @@ function make_vm_config() { IMAGE_FILE="${1}" ISO_FILE="${2}" case "${OS}" in + batocera) + GUEST="batocera" + IMAGE_TYPE="img";; dragonflybsd) GUEST="dragonflybsd" IMAGE_TYPE="iso";; @@ -812,6 +820,13 @@ function get_arcolinux() { echo "${URL}/${ISO} ${HASH}" } +function get_batocera() { + local HASH="" + local ISO="batocera-x86_64-${RELEASE}-20220203.img.gz" + local URL="https://updates.batocera.org/x86_64/stable/last" + echo "${URL}/${ISO} ${HASH}" +} + function get_cachyos() { local HASH="" local ISO="cachyos-${RELEASE}-x86_64.iso" @@ -1717,6 +1732,10 @@ create_vm() { unzip ${VM_PATH}/${ISO} -d ${VM_PATH} ISO=$(ls ${VM_PATH} | grep -i '.iso') fi + if [[ ${OS} == "batocera" ]] && [[ ${ISO} =~ ".gz" ]]; then + gzip -d "${VM_PATH}/${ISO}" + ISO="${ISO/.gz/}" + fi make_vm_config "${ISO}" }