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…
Reference in a new issue