mirror of
https://github.com/oSoWoSo/DistroHopper.git
synced 2024-08-14 22:46:53 +00:00
Merge branch 'master' into merging-fixes
This commit is contained in:
commit
b933bf77d5
3 changed files with 524 additions and 20 deletions
59
quickemu
59
quickemu
|
@ -228,6 +228,7 @@ function vm_boot() {
|
|||
local KERNEL_NODE=""
|
||||
local KERNEL_VER="?"
|
||||
local LSB_DESCRIPTION="Unknown OS"
|
||||
local MACHINE_TYPE="q35"
|
||||
local MAC_BOOTLOADER=""
|
||||
local MAC_MISSING=""
|
||||
local MAC_DISK_DEV="ide-hd,bus=ahci.2"
|
||||
|
@ -383,7 +384,7 @@ function vm_boot() {
|
|||
# https://bugzilla.redhat.com/show_bug.cgi?id=1929357#c5
|
||||
case ${secureboot} in
|
||||
on)
|
||||
if [ -e "/usr/share/OVMF/OVMF_CODE_4M.secboot.fd" ]; then
|
||||
if [ -e "/usr/share/OVMF/OVMF_CODE_4M.secboot.fd" ]; then
|
||||
EFI_CODE="/usr/share/OVMF/OVMF_CODE_4M.secboot.fd"
|
||||
efi_vars "/usr/share/OVMF/OVMF_VARS_4M.fd" "${EFI_VARS}"
|
||||
elif [ -e "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd" ]; then
|
||||
|
@ -392,9 +393,18 @@ function vm_boot() {
|
|||
elif [ -e "/usr/share/OVMF/x64/OVMF_CODE.secboot.fd" ]; then
|
||||
EFI_CODE="/usr/share/OVMF/x64/OVMF_CODE.secboot.fd"
|
||||
efi_vars "/usr/share/OVMF/x64/OVMF_VARS.fd" "${EFI_VARS}"
|
||||
elif [ -e "/usr/share/edk2-ovmf/OVMF_CODE.fd" ]; then
|
||||
elif [ -e "/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd" ]; then
|
||||
EFI_CODE="/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd"
|
||||
efi_vars "/usr/share/edk2-ovmf/OVMF_VARS.fd" "${EFI_VARS}"
|
||||
elif [ -e "/usr/share/qemu/ovmf-x86_64-smm-ms-code.bin" ]; then
|
||||
EFI_CODE="/usr/share/qemu/ovmf-x86_64-smm-ms-code.bin"
|
||||
efi_vars "/usr/share/qemu/ovmf-x86_64-smm-ms-vars.bin" "${EFI_VARS}"
|
||||
elif [ -e "/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd" ]; then
|
||||
EFI_CODE="/usr/share/edk2-ovmf/OVMF_CODE.secboot.fd"
|
||||
efi_vars "/usr/share/edk2-ovmf/OVMF_VARS.fd" "${EFI_VARS}"
|
||||
elif [ -e "/usr/share/qemu/edk2-x86_64-secure-code.fd" ]; then
|
||||
EFI_CODE="/usr/share/qemu/edk2-x86_64-secure-code.fd"
|
||||
efi_vars "/usr/share/qemu/edk2-x86_64-code.fd" "${EFI_VARS}"
|
||||
else
|
||||
echo "ERROR! SecureBoot was requested but no SecureBoot capable firmware was found."
|
||||
echo " Please install OVMF firmware."
|
||||
|
@ -417,6 +427,12 @@ function vm_boot() {
|
|||
elif [ -e "/usr/share/edk2-ovmf/OVMF_CODE.fd" ]; then
|
||||
EFI_CODE="/usr/share/edk2-ovmf/OVMF_CODE.fd"
|
||||
efi_vars "/usr/share/edk2-ovmf/OVMF_VARS.fd" "${EFI_VARS}"
|
||||
elif [ -e "/usr/share/qemu/ovmf-x86_64-4m-code.bin" ]; then
|
||||
EFI_CODE="/usr/share/qemu/ovmf-x86_64-4m-code.bin"
|
||||
efi_vars "/usr/share/qemu/ovmf-x86_64-4m-vars.bin" "${EFI_VARS}"
|
||||
elif [ -e "/usr/share/qemu/edk2-x86_64-code.fd" ]; then
|
||||
EFI_CODE="/usr/share/qemu/edk2-x86_64-code.fd"
|
||||
efi_vars "/usr/share/qemu/edk2-x86_64-code.fd" "${EFI_VARS}"
|
||||
else
|
||||
echo "ERROR! EFI boot requested but no EFI firmware found."
|
||||
echo " Please install OVMF firmware."
|
||||
|
@ -463,6 +479,29 @@ function vm_boot() {
|
|||
disk_size="16G"
|
||||
fi
|
||||
;;
|
||||
kolibrios)
|
||||
CPU="-cpu qemu32,kvm=on"
|
||||
if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then
|
||||
CPU="${CPU},topoext"
|
||||
fi
|
||||
MACHINE_TYPE="pc"
|
||||
NET_DEVICE="rtl8139"
|
||||
GUEST_TWEAKS="-boot d"
|
||||
if [ -z "${disk_size}" ]; then
|
||||
disk_size="256M"
|
||||
fi
|
||||
;;
|
||||
haiku)
|
||||
CPU="-cpu host,kvm=on"
|
||||
MACHINE_TYPE="pc"
|
||||
NET_DEVICE="rtl8139"
|
||||
if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then
|
||||
CPU="${CPU},topoext"
|
||||
fi
|
||||
if [ -z "${disk_size}" ]; then
|
||||
disk_size="32G"
|
||||
fi
|
||||
;;
|
||||
macos)
|
||||
#https://www.nicksherlock.com/2020/06/installing-macos-big-sur-on-proxmox/
|
||||
# A CPU with SSE4.1 support is required for >= macOS Sierra
|
||||
|
@ -591,7 +630,7 @@ function vm_boot() {
|
|||
fi
|
||||
fi
|
||||
|
||||
if [ "${DISK_USED}" == "yes" ]; then
|
||||
if [ "${DISK_USED}" == "yes" ] && [ "${guest_os}" != "kolibrios" ]; then
|
||||
# If there is a disk image that appears to be used do not boot from installation media.
|
||||
iso=""
|
||||
img=""
|
||||
|
@ -833,7 +872,7 @@ function vm_boot() {
|
|||
|
||||
# shellcheck disable=SC2054,SC2206,SC2140
|
||||
args+=(-name ${VMNAME},process=${VMNAME} -pidfile "${VMDIR}/${VMNAME}.pid"
|
||||
-enable-kvm -machine q35,smm=${SMM},vmport=off ${GUEST_TWEAKS}
|
||||
-enable-kvm -machine ${MACHINE_TYPE},smm=${SMM},vmport=off ${GUEST_TWEAKS}
|
||||
${CPU} ${SMP}
|
||||
-m ${RAM_VM} ${BALLOON}
|
||||
-smbios type=2,manufacturer="Quickemu Project",product="Quickemu",version="${VERSION}",serial="0xDEADBEEF",location="quickemu.com",asset="${VMNAME}"
|
||||
|
@ -891,6 +930,13 @@ function vm_boot() {
|
|||
args+=(-drive if=floppy,format=raw,file="${floppy}")
|
||||
fi
|
||||
|
||||
# Since there is bug (probably) in KolibriOS: cdrom indexes 0 or 1 make system show an extra unexisting iso, so we use index=2
|
||||
if [ -n "${iso}" ] && [ "${guest_os}" == "kolibrios" ]; then
|
||||
# shellcheck disable=SC2054
|
||||
args+=(-drive media=cdrom,index=2,file="${iso}")
|
||||
iso=""
|
||||
fi
|
||||
|
||||
if [ -n "${iso}" ]; then
|
||||
# shellcheck disable=SC2054
|
||||
args+=(-drive media=cdrom,index=0,file="${iso}")
|
||||
|
@ -922,6 +968,11 @@ function vm_boot() {
|
|||
# shellcheck disable=SC2054,SC2206
|
||||
args+=(-device ${MAC_DISK_DEV},drive=SystemDisk
|
||||
-drive id=SystemDisk,if=none,format=qcow2,file="${disk_img}" ${STATUS_QUO})
|
||||
elif [ "${guest_os}" == "kolibrios" ]; then
|
||||
# shellcheck disable=SC2054,SC2206
|
||||
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})
|
||||
else
|
||||
# shellcheck disable=SC2054,SC2206
|
||||
args+=(-device virtio-blk-pci,drive=SystemDisk
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue