mirror of
				https://github.com/oSoWoSo/DistroHopper.git
				synced 2024-08-14 22:46:53 +00:00 
			
		
		
		
	Add support for guest_os hinting
Adds an optional `$guest_so` variable to the config files. Supported options are `linux` and `windows` which defaults to `linux` if not provided. Allows for OS specific tuning in `quickemu`.
This commit is contained in:
		
							parent
							
								
									373a83f9a4
								
							
						
					
					
						commit
						ce523fecdf
					
				
					 2 changed files with 33 additions and 2 deletions
				
			
		|  | @ -46,8 +46,10 @@ snap connect qemu-virgil:removable-media | |||
| 
 | ||||
|   * Download a .iso image of a Linux distribution | ||||
|   * Create a VM configuration file; for example `ubuntu.conf` | ||||
|     * The **default** `guest_os` is `linux`, so this is optional for Linux VM configs. | ||||
| 
 | ||||
| ``` | ||||
| guest_os="linux" | ||||
| iso="/media/$USER/Quickemu/ubuntu/focal-desktop-amd64.iso" | ||||
| disk_img="/media/$USER/Quickemu/ubuntu/focal-desktop-amd64.qcow2" | ||||
| disk=128G | ||||
|  | @ -64,6 +66,7 @@ Which will output something like this: | |||
| ``` | ||||
| Starting /media/martin/Quickemu/ubuntu-focal-desktop.conf | ||||
|  - QEMU:     /snap/bin/qemu-virgil v4.2.0 | ||||
|  - Guest:    Linux optimised. | ||||
|  - BIOS:     Legacy | ||||
|  - Disk:     /media/martin/Quickemu/ubuntu/focal-desktop-amd64.qcow2 (64G) | ||||
|  - ISO:      /media/martin/Quickemu/ubuntu/focal-desktop-amd64.iso | ||||
|  | @ -87,13 +90,13 @@ You can use `quickemu` to run a Windows 10 virtual machine. | |||
|   * [Download Windows 10](https://www.microsoft.com/en-gb/software-download/windows10ISO) | ||||
|   * [Download VirtIO drivers for Windows](https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html#virtio-win-direct-downloads) | ||||
|   * Create a VM configuration file; for example `windows10.conf` | ||||
|     * The `VIDEO_DRV=qxl` line instructs `quickemu` to use a Windows compatible video driver. | ||||
|     * The `guest_os="windows"` line instructs `quickemu` to use optimise for Windows. | ||||
| 
 | ||||
| ``` | ||||
| guest_os="windows" | ||||
| iso="/media/$USER/Quickemu/windows10/Win10_1909_English_x64.iso" | ||||
| driver_iso="/media/$USER/Quickemu/windows10/virtio-win-0.1.173.iso" | ||||
| disk_img="/media/$USER/Quickemu/windows10/windows10.qcow2" | ||||
| VIDEO_DRV="qxl" | ||||
| ``` | ||||
| 
 | ||||
|   * Use `quickemu` to start the virtual machine: | ||||
|  | @ -107,6 +110,7 @@ Which will output something like this: | |||
| ``` | ||||
| Starting /media/martin/Quickemu/windows10.conf | ||||
|  - QEMU:     /snap/bin/qemu-virgil v4.2.0 | ||||
|  - Guest:    Windows optimised. | ||||
|  - BIOS:     Legacy | ||||
|  - Disk:     /media/martin/Quickemu/windows10/windows10.qcow2 (64G) | ||||
|              Just created, booting from /media/martin/Quickemu/windows10/Win10_1909_English_x64.iso | ||||
|  |  | |||
							
								
								
									
										27
									
								
								quickemu
									
										
									
									
									
								
							
							
						
						
									
										27
									
								
								quickemu
									
										
									
									
									
								
							|  | @ -113,6 +113,33 @@ function vm_boot() { | |||
|     echo " - BIOS:     Legacy" | ||||
|   fi | ||||
| 
 | ||||
|   # If guest_os is unset, default to "linux" | ||||
|   if [ -z "${guest_os}" ]; then | ||||
|     guest_os="linux" | ||||
|   else | ||||
|     # Force to lowercase. | ||||
|     guest_os=$(echo ${guest_os,,}) | ||||
|   fi | ||||
| 
 | ||||
|   # Make any OS specific adjustments | ||||
|   case ${guest_os} in | ||||
|     linux) | ||||
|       VIDEO_DRV="virtio-vga" | ||||
|       ;; | ||||
|     windows) | ||||
|       VIDEO_DRV="qxl" | ||||
|       ;; | ||||
|     *) | ||||
|       echo "ERROR! Unrecognised guest OS: ${guest_os}" | ||||
|       exit | ||||
|       ;; | ||||
|   esac | ||||
|   echo " - Guest:    ${guest_os^} optimised." | ||||
| 
 | ||||
|   if [ -z "${disk}" ]; then | ||||
|     disk="64G" | ||||
|   fi | ||||
| 
 | ||||
|   echo " - Disk:     ${disk_img} (${disk})" | ||||
|   if [ ! -f "${disk_img}" ]; then | ||||
|       # If there is no disk image, create a new image. | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue