|
|
@ -228,6 +228,7 @@ function vm_boot() { |
|
|
|
local KERNEL_NODE="" |
|
|
|
local KERNEL_NODE="" |
|
|
|
local KERNEL_VER="?" |
|
|
|
local KERNEL_VER="?" |
|
|
|
local LSB_DESCRIPTION="Unknown OS" |
|
|
|
local LSB_DESCRIPTION="Unknown OS" |
|
|
|
|
|
|
|
local MACHINETYPE="q35" |
|
|
|
local MAC_BOOTLOADER="" |
|
|
|
local MAC_BOOTLOADER="" |
|
|
|
local MAC_MISSING="" |
|
|
|
local MAC_MISSING="" |
|
|
|
local MAC_DISK_DEV="ide-hd,bus=ahci.2" |
|
|
|
local MAC_DISK_DEV="ide-hd,bus=ahci.2" |
|
|
@ -463,6 +464,18 @@ function vm_boot() { |
|
|
|
disk_size="16G" |
|
|
|
disk_size="16G" |
|
|
|
fi |
|
|
|
fi |
|
|
|
;; |
|
|
|
;; |
|
|
|
|
|
|
|
kolibrios) |
|
|
|
|
|
|
|
CPU="-cpu qemu32,kvm=on" |
|
|
|
|
|
|
|
if [ "${HOST_CPU_VENDOR}" == "AuthenticAMD" ]; then |
|
|
|
|
|
|
|
CPU="${CPU},topoext" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
MACHINETYPE="pc" |
|
|
|
|
|
|
|
NET_DEVICE="rtl8139" |
|
|
|
|
|
|
|
GUEST_TWEAKS="-boot d" |
|
|
|
|
|
|
|
if [ -z "${disk_size}" ]; then |
|
|
|
|
|
|
|
disk_size="256M" |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
;; |
|
|
|
macos) |
|
|
|
macos) |
|
|
|
#https://www.nicksherlock.com/2020/06/installing-macos-big-sur-on-proxmox/ |
|
|
|
#https://www.nicksherlock.com/2020/06/installing-macos-big-sur-on-proxmox/ |
|
|
|
# A CPU with SSE4.1 support is required for >= macOS Sierra |
|
|
|
# A CPU with SSE4.1 support is required for >= macOS Sierra |
|
|
@ -591,7 +604,7 @@ function vm_boot() { |
|
|
|
fi |
|
|
|
fi |
|
|
|
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. |
|
|
|
# If there is a disk image that appears to be used do not boot from installation media. |
|
|
|
iso="" |
|
|
|
iso="" |
|
|
|
img="" |
|
|
|
img="" |
|
|
@ -833,7 +846,7 @@ function vm_boot() { |
|
|
|
|
|
|
|
|
|
|
|
# shellcheck disable=SC2054,SC2206,SC2140 |
|
|
|
# shellcheck disable=SC2054,SC2206,SC2140 |
|
|
|
args+=(-name ${VMNAME},process=${VMNAME} -pidfile "${VMDIR}/${VMNAME}.pid" |
|
|
|
args+=(-name ${VMNAME},process=${VMNAME} -pidfile "${VMDIR}/${VMNAME}.pid" |
|
|
|
-enable-kvm -machine q35,smm=${SMM},vmport=off ${GUEST_TWEAKS} |
|
|
|
-enable-kvm -machine ${MACHINETYPE},smm=${SMM},vmport=off ${GUEST_TWEAKS} |
|
|
|
${CPU} ${SMP} |
|
|
|
${CPU} ${SMP} |
|
|
|
-m ${RAM_VM} ${BALLOON} |
|
|
|
-m ${RAM_VM} ${BALLOON} |
|
|
|
-smbios type=2,manufacturer="Quickemu Project",product="Quickemu",version="${VERSION}",serial="0xDEADBEEF",location="quickemu.com",asset="${VMNAME}" |
|
|
|
-smbios type=2,manufacturer="Quickemu Project",product="Quickemu",version="${VERSION}",serial="0xDEADBEEF",location="quickemu.com",asset="${VMNAME}" |
|
|
@ -891,6 +904,13 @@ function vm_boot() { |
|
|
|
args+=(-drive if=floppy,format=raw,file="${floppy}") |
|
|
|
args+=(-drive if=floppy,format=raw,file="${floppy}") |
|
|
|
fi |
|
|
|
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 |
|
|
|
if [ -n "${iso}" ]; then |
|
|
|
# shellcheck disable=SC2054 |
|
|
|
# shellcheck disable=SC2054 |
|
|
|
args+=(-drive media=cdrom,index=0,file="${iso}") |
|
|
|
args+=(-drive media=cdrom,index=0,file="${iso}") |
|
|
@ -922,6 +942,11 @@ function vm_boot() { |
|
|
|
# shellcheck disable=SC2054,SC2206 |
|
|
|
# shellcheck disable=SC2054,SC2206 |
|
|
|
args+=(-device ${MAC_DISK_DEV},drive=SystemDisk |
|
|
|
args+=(-device ${MAC_DISK_DEV},drive=SystemDisk |
|
|
|
-drive id=SystemDisk,if=none,format=qcow2,file="${disk_img}" ${STATUS_QUO}) |
|
|
|
-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 |
|
|
|
else |
|
|
|
# shellcheck disable=SC2054,SC2206 |
|
|
|
# shellcheck disable=SC2054,SC2206 |
|
|
|
args+=(-device virtio-blk-pci,drive=SystemDisk |
|
|
|
args+=(-device virtio-blk-pci,drive=SystemDisk |
|
|
|