#!/bin/bash

# statics
BLACK_FORE="\e[30m"
YELLOW_FORE="\e[33m"
YELLOW_BACK="\e[43m"
RED_FORE="\e[31m"
RED_BACK="\e[41m"
RESET="\e[0m"

UEFI_FIRMWARE_PATH="/usr/share/ovmf/OVMF.fd"

if [ ! -f "./disk.img" ]; then
    echo -e "${BLACK_FORE}${YELLOW_BACK}WARNING${RESET} ${YELLOW_FORE}Disk image 'disk.img' doesn't exist. Creating...${RESET}"
    qemu-img create -f qcow2 disk.img 64G
fi

# shellcheck disable=SC2012
iso_filename=$(ls StrawberryOS-*.iso | sort -n | tail -1)

if [ ! -f "$iso_filename" ]; then
        echo -e "${BLACK_FORE}${RED_BACK}ERROR${RESET} ${RED_FORE}CD-ROM image doesn't exist. You will need to download a StrawberryOS iso image.${RESET}"
        exit 1
fi

if [ ! -f ${UEFI_FIRMWARE_PATH} ]; then
    UEFI_FIRMWARE_PATH="/usr/share/edk2/ovmf/OVMF_CODE.fd"
    if [ ! -f ${UEFI_FIRMWARE_PATH} ]; then
        echo -e "${BLACK_FORE}${RED_BACK}ERROR${RESET} ${RED_FORE}Couldn't find EDK2 UEFI Firmware. Please check whether you have installed the corresponding package.${RESET}"
    fi
fi



qemu-system-x86_64 \
-enable-kvm \
-cpu host \
-smp 2 \
-bios ${UEFI_FIRMWARE_PATH} \
-m 8192 \
-hda disk.img \
-cdrom "$iso_filename" \
-boot c