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