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 |   * Download a .iso image of a Linux distribution | ||||||
|   * Create a VM configuration file; for example `ubuntu.conf` |   * 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" | iso="/media/$USER/Quickemu/ubuntu/focal-desktop-amd64.iso" | ||||||
| disk_img="/media/$USER/Quickemu/ubuntu/focal-desktop-amd64.qcow2" | disk_img="/media/$USER/Quickemu/ubuntu/focal-desktop-amd64.qcow2" | ||||||
| disk=128G | disk=128G | ||||||
|  | @ -64,6 +66,7 @@ Which will output something like this: | ||||||
| ``` | ``` | ||||||
| Starting /media/martin/Quickemu/ubuntu-focal-desktop.conf | Starting /media/martin/Quickemu/ubuntu-focal-desktop.conf | ||||||
|  - QEMU:     /snap/bin/qemu-virgil v4.2.0 |  - QEMU:     /snap/bin/qemu-virgil v4.2.0 | ||||||
|  |  - Guest:    Linux optimised. | ||||||
|  - BIOS:     Legacy |  - BIOS:     Legacy | ||||||
|  - Disk:     /media/martin/Quickemu/ubuntu/focal-desktop-amd64.qcow2 (64G) |  - Disk:     /media/martin/Quickemu/ubuntu/focal-desktop-amd64.qcow2 (64G) | ||||||
|  - ISO:      /media/martin/Quickemu/ubuntu/focal-desktop-amd64.iso |  - 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 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) |   * [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` |   * 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" | iso="/media/$USER/Quickemu/windows10/Win10_1909_English_x64.iso" | ||||||
| driver_iso="/media/$USER/Quickemu/windows10/virtio-win-0.1.173.iso" | driver_iso="/media/$USER/Quickemu/windows10/virtio-win-0.1.173.iso" | ||||||
| disk_img="/media/$USER/Quickemu/windows10/windows10.qcow2" | disk_img="/media/$USER/Quickemu/windows10/windows10.qcow2" | ||||||
| VIDEO_DRV="qxl" |  | ||||||
| ``` | ``` | ||||||
| 
 | 
 | ||||||
|   * Use `quickemu` to start the virtual machine: |   * Use `quickemu` to start the virtual machine: | ||||||
|  | @ -107,6 +110,7 @@ Which will output something like this: | ||||||
| ``` | ``` | ||||||
| Starting /media/martin/Quickemu/windows10.conf | Starting /media/martin/Quickemu/windows10.conf | ||||||
|  - QEMU:     /snap/bin/qemu-virgil v4.2.0 |  - QEMU:     /snap/bin/qemu-virgil v4.2.0 | ||||||
|  |  - Guest:    Windows optimised. | ||||||
|  - BIOS:     Legacy |  - BIOS:     Legacy | ||||||
|  - Disk:     /media/martin/Quickemu/windows10/windows10.qcow2 (64G) |  - Disk:     /media/martin/Quickemu/windows10/windows10.qcow2 (64G) | ||||||
|              Just created, booting from /media/martin/Quickemu/windows10/Win10_1909_English_x64.iso |              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" |     echo " - BIOS:     Legacy" | ||||||
|   fi |   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})" |   echo " - Disk:     ${disk_img} (${disk})" | ||||||
|   if [ ! -f "${disk_img}" ]; then |   if [ ! -f "${disk_img}" ]; then | ||||||
|       # If there is no disk image, create a new image. |       # If there is no disk image, create a new image. | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue