Commit graph

401 commits

Author SHA1 Message Date
Giorgio Gallo
3bcf36f625
Check for both qemu-system-x86_64 and qemu-img 2022-01-03 22:34:39 +01:00
nqvrg
98266009f0 Allow using a different chipset on quickemu
Haiku is incompatible with the q35 machine type, as it emulates a ICH9
host chipset. Instad, the "pc" machine type needs to be used (emulates
I44FX).

https://wiki.qemu.org/Features/Q35
2021-12-26 19:22:14 +01:00
Vitaliy Krylov
82be8d324c Improved support of KolibriOS:
CD-ROM (iso), Disk, Internet and Audio are working now.
Also added forced LiveCD booting (because release named latest-iso, not latest-img).
Did some tweaks with '-machine' and '-cpu'. Now these VMs will run with 'qemu32' processor since KolibriOS throw an MTRR error (I didnt get how to fix it by any other way).
2021-12-23 20:36:34 +03:00
Vitaliy Krylov
310d2d3aa1 Adding KolibriOS support
It can download and boot this OS. There is one requirement: 7z.
Its not completed yet (at least internet and sound dont work)
2021-12-22 00:13:47 +03:00
guinuxbr
74068d240b Added openSUSE path for OVMF 2021-12-20 21:51:38 +00:00
Martin Wimpress
12fbf6b02f
Bump version to 3.11 2021-12-08 10:54:41 +00:00
Martin Wimpress
9cf2d9ac3c Correct OSK location 2021-12-08 10:50:50 +00:00
Martin Wimpress
5eb6a20402 Change USB controller for Big Sur and Monterey to nec-usb-xhci 2021-12-08 10:50:50 +00:00
Martin Wimpress
4325a1e79a Disable S3 for macOS to try and prevent installs suspending 2021-12-08 10:50:50 +00:00
Martin Wimpress
b40f1d8925 Update OEM fields in quickemu to match unattended
Change references to Quickemu Project, instead of Wimpys World
2021-12-08 10:42:54 +00:00
Martin Wimpress
2a0ba4d10a Enable network during Windows installs 2021-12-08 10:42:54 +00:00
Martin Wimpress
9210054c05 Enable VirtIO for Windows disks 2021-12-08 10:42:54 +00:00
Martin Wimpress
20ca3aff8d
Bump version to 2.3.4 2021-12-06 11:44:22 +00:00
Martin Wimpress
ace30551fc
Always disable S3 on WIndows
This should prevent fresh installs from failing during the multiple reboots
2021-12-06 11:38:26 +00:00
Phil
f8aee430ec Re-disabled network for re-appearance of #115 2021-12-06 11:00:08 +00:00
Martin Wimpress
59e9a73e4c
Clairfy QEMU not found messages 2021-12-03 16:54:33 +00:00
Jinming Wu, Patrick
194b303a54 add a display setting in the conf file 2021-12-03 13:49:34 +00:00
Martin Wimpress
ca0f144351
Bump version to 2.3.3 2021-12-03 11:33:56 +00:00
Martin Wimpress
e6823edde7
Make port scans non-blocking 2021-12-03 11:33:41 +00:00
Martin Wimpress
4f0bbfc667
Add --delete-disk and --delete-vm options. Close #227 2021-12-03 11:33:17 +00:00
Leonardo Brondani Schenkel
566faa97d8 Fix case statement
The correct separator is "|" and not ",".
2021-11-15 12:33:32 +00:00
Martin Wimpress
084b632eae
Disable S3 when booting Windows with SecureBoot #162
Disabling S3 is required while booting Windows with SecureBoot enable. Disabling S3 is not the cause of #162
2021-11-15 10:41:08 +00:00
Martin Wimpress
f8e7f10ffd
Consistent formatting of GUEST_TWEAKS 2021-11-13 19:07:50 +00:00
Martin Wimpress
20e5b02e43
Disable S3 when SecureBooting Windows on Arch Linux. Close #220 2021-11-13 19:07:30 +00:00
Martin Wimpress
1036cd7ec9
Tune all display devices to have 64MB VRAM. Close #211
64MB VRAM is sufficient to run 3840 x 2160 with page flipping., even though qemu support a max of 2560x1600. No need to tune this since 64MB is relatively small in the great scheme of things.

References:
  - https://www.ovirt.org/develop/internal/video-ram.html
  - https://stafwag.github.io/blog/blog/2018/04/22/high-screen-resolution-on-a-kvm-virtual-machine-with-qxl/
  -
2021-11-13 18:52:10 +00:00
Martin Wimpress
95748059b9
Update comments about macOS VirtIO support 2021-11-13 18:18:24 +00:00
Zach Bacon
6d7b87254c This adds OMVF support in solus
however secureboot in OMVF isn't enabled in solus.
2021-11-13 18:17:21 +00:00
Martin Wimpress
e53021d029
When SPICE is requested, also use SPICE for audio. Close #209 2021-11-13 16:30:56 +00:00
Martin Wimpress
16f379e044
Bump version to 2.3.2 2021-11-13 15:57:50 +00:00
Martin Wimpress
5c490be79a
Correct comment indentation 2021-11-13 15:56:58 +00:00
Martin Wimpress
743b051526
Make shellcheck happy 2021-11-13 15:56:36 +00:00
Martin Wimpress
72704684dd
Replace incorrect references to AuthenticIntel with GenuineIntel #223 2021-11-13 15:53:18 +00:00
Martin Wimpress
e5053ec566
Add USB pass-through and WebDAV via SPICE for macOS. Close #223 Close #196 2021-11-13 15:51:58 +00:00
Martin Wimpress
cff40f8db0
Allocate VRAM for all display devices #211 2021-11-13 15:31:40 +00:00
Martin Wimpress
9197e0c981
Fix seamless mouse via SPICE for macOS by only using VGA. Close #222 2021-11-13 15:30:36 +00:00
Martin Wimpress
d3506d1c4a
Remove disabling S3 (Suspend to RAM). Close #162 2021-11-08 15:11:25 +00:00
Martin Wimpress
b38e220f6c
Do not prevent macOS running when AVX2 is absent. Close #201 2021-11-07 23:51:50 +00:00
Gary Graham
979a11ca1b confused file names
added secboot file to non-secboot. whoops. fixed.
2021-11-07 23:26:58 +00:00
Gary Graham
c5e8a8e8e2 ovmf_path_gentoo
Add Gentoo's paths for OVMF.
2021-11-07 23:26:58 +00:00
Phil Clifford
2f8b14d2c7 fix for shortcut presumption 2021-11-07 23:24:08 +00:00
Dani Llewellyn
87fea6c845
Re-enable networking during Windows installation (#193)
* Force Windows VMs to use AHCI for the cdrom and hard disk devices.
* Re-enable networking during Windows installation.
2021-11-07 23:20:50 +00:00
Martin Wimpress
8f832a843b
Revert "Rename swtpm socket". Close #192
This reverts commit c5efb7d79d.
2021-11-01 18:31:57 +00:00
Blaz
82ea95918d fix for virtio-vga-gl to be usable
See https://github.com/wimpysworld/quickemu/issues/107#issuecomment-951943497
2021-10-30 08:58:35 +01:00
Martin Wimpress
81e8a8db9c
Bump version to 2.3.1 2021-10-29 11:27:02 +01:00
Martin Wimpress
cd908c5a85
Bump version to 2.3.0 2021-10-29 09:51:05 +01:00
Martin Wimpress
66fb440359
Bump version to 2.2.9 2021-10-28 22:44:13 +01:00
Martin Wimpress
528064383b
Add support for QEMU Guest Agent 2021-10-27 22:20:57 +01:00
Martin Wimpress
c5efb7d79d
Rename swtpm socket 2021-10-27 22:20:57 +01:00
Adam Fairbrother
6e851ff1c8
Added support for Bridge mode networking. (#160)
* Added support for Bridge mode networking.

added config file option "bridge"
set to a correctly configured bridge device to enable qemu-bridge-helper

* Added Docs for Bridge network feature
2021-10-27 22:07:14 +01:00
Martin Wimpress
95b5f84816
Bump version to 2.2.8 2021-10-27 15:46:37 +01:00
Martin Wimpress
ea8f459977
Make shellcheck happy 2021-10-27 12:18:10 +01:00
Martin Wimpress
1421492f87
Add initial support for macOS Monterey 2021-10-27 11:56:56 +01:00
Martin Wimpress
5367286915
Unify process related status messages 2021-10-27 11:42:28 +01:00
Martin Wimpress
5c0a7885c9
Reduce wait for swtpm initialisation 2021-10-25 15:57:15 +01:00
Martin Wimpress
835ce6bce5
Minor cleanup 2021-10-25 15:42:33 +01:00
Martin Wimpress
61ac7ad809
Correct typo 2021-10-25 15:42:01 +01:00
Martin Wimpress
205023fd50
Add -display none option. Close #110
Using the -display none option will start the VM with SPICE enabled but no display attached. The .ports file in the VM directory can be used to lookup the SSH and SPICE ports used by the VM.
2021-10-25 15:37:17 +01:00
Martin Wimpress
0567229405
Fix VMNAME 2021-10-25 15:14:59 +01:00
Martin Wimpress
ed2ba41cb5
Bump version to 2.2.7 2021-10-25 14:38:33 +01:00
Martin Wimpress
c6659a5b77
Fix shortcuts. Close #141 2021-10-25 14:32:19 +01:00
Martin Wimpress
33adadc988
Make shellcheck happy 2021-10-25 14:31:45 +01:00
Martin Wimpress
3257768677
Derive the absolute VMPATH 2021-10-25 14:31:07 +01:00
Martin Wimpress
91e7e18955
Add support for virtio-vga-gl on QEMU 6.1 and newer. Close #107 2021-10-25 14:03:59 +01:00
Martin Wimpress
4003144cf6
Add ports file. Close #156 2021-10-25 13:40:35 +01:00
Martin Wimpress
5c53dec449
Increase disk_size for macOS and display MSR alerts more often. Close #153 2021-10-25 12:54:41 +01:00
Martin Wimpress
db855be6ed
Fallback to /etc/os-release if lsb_release is not available 2021-10-25 11:17:32 +01:00
Martin Wimpress
23e3da40e3
Remove erroneous EFI_VARS references 2021-10-25 11:17:32 +01:00
Martin Wimpress
0598fb3321
Make sure Legacy boot is in legacy mode 2021-10-25 11:17:32 +01:00
Martin Wimpress
145dc472af
Show full $EFI_CODE path in boot status 2021-10-25 11:17:32 +01:00
Martin Wimpress
207ebde501
Remove test stub 2021-10-25 11:17:32 +01:00
Martin Wimpress
44673e94c6
Add guards for $EFI_CODE and $EFI_VARS
Make sure that $EFI_VARS references an actual writable file.

Check if $EFI_CODE reference a symlink, if so resolve the the real file.
2021-10-25 11:17:32 +01:00
Martin Wimpress
ca03a4dada
If EFI boot was requested an no EFI firmware is available, hard stop. 2021-10-25 11:17:32 +01:00
Martin Wimpress
444616022e
Improve error message when no SecureBoot firmware was found. 2021-10-25 11:17:32 +01:00
Martin Wimpress
7a0cf72213
Add reference for Fedora 2021-10-25 11:17:32 +01:00
Martin Wimpress
44bc5faec0
Use the paths to actual firmware on Fedora, rather than to symlinks.
Useful reference in this comment: https://bugzilla.redhat.com/show_bug.cgi?id=1929357#c5
2021-10-25 11:17:32 +01:00
Martin Wimpress
9b96f899ad
Make sure cfi.pflash01always has the secure property set 2021-10-25 11:17:32 +01:00
Martin Wimpress
b9f90d12c3
Disable Suspend to RAM (S3) if SecureBoot or SMM are enabled 2021-10-25 11:17:32 +01:00
Martin Wimpress
a4eddaa9e5
Add SMM support, enabled by default for Windows guests 2021-10-25 11:17:32 +01:00
Martin Wimpress
b6db417b81
Refactor OVMF detection and add SecureBoot support
Add 'secureboot="on"' to a VM configuration to enable SecureBoot.
2021-10-25 11:16:35 +01:00
Martin Wimpress
aeb2a64720
Add efi_vars() for copying EFI variable store templates to the VM dir 2021-10-25 11:16:35 +01:00
Martin Wimpress
b8d6b02796
Refactor swtpm support to catch when it is missing
Also adds the swtpm laucher to the debug shell script.
2021-10-25 11:16:35 +01:00
Jed Spraul
8bb9003f5a Halt unless bash 4 or newer 2021-10-21 21:28:13 +01:00
Martin Wimpress
4634212f65
Bump version to 2.2.6 2021-10-21 01:47:03 +01:00
Martin Wimpress
3c2249934a
Disable all disk tuning, for the sake of compatibility. Close #98 2021-10-21 00:33:01 +01:00
Martin Wimpress
32da324717 Correct typo in --ignore-msrs-always argument 2021-10-21 00:28:03 +01:00
Martin Wimpress
936f79590c Minor comment edit 2021-10-21 00:28:03 +01:00
Martin Wimpress
b915d8d797 Only display MSR alerts when required 2021-10-21 00:28:03 +01:00
Martin Wimpress
a94541c5aa Order the argument parser 2021-10-21 00:28:03 +01:00
Martin Wimpress
d052d913f9 Order the usage 2021-10-21 00:28:03 +01:00
Martin Wimpress
acf6ef32fa Add --ignore-msrs-always argument 2021-10-21 00:28:03 +01:00
Martin Wimpress
e493112688 Refactor ignore_msrs_alert to make in non-blocking 2021-10-21 00:28:03 +01:00
Martin Wimpress
119e4dd7ad White space clean up 2021-10-21 00:28:03 +01:00
Martin Wimpress
af7348caf6
Refactor, and enable, OpenBSD support 2021-10-20 23:22:35 +01:00
Fabian Schmidt
94ecb1b3ec
added openbsd 7 support (#129)
Co-authored-by: Fabian Schmidt <fabian85@protonmail.com>
2021-10-20 22:07:07 +01:00
Phil Clifford
78b9a3f7f2
Politely offer to set ignore_msrs (#134)
* attempt to offer appropriate setting of ignore_msrs if needed

* Removed done TODO

* Revert "Removed done TODO"
to resolve merge conflict since all TODOS removed upstream
This reverts commit eb18fcf82932489534e3c9a244e124740dfcdf01.
2021-10-20 01:22:45 +01:00
Martin Wimpress
4eb11caa10
Store the pid of the VM 2021-10-19 20:49:57 +01:00
Martin Wimpress
380451df4c
Clean up status messages 2021-10-19 02:17:23 +01:00
Martin Wimpress
fd901a987c Disable all network interfaces during Windows install. Close #115
During the Windows install network interfaces are completely disabled! This is to allow those users who want to create local accounts to do so.

A side affect is that the first time Windows boots with the QEMU network enabled it will blue screen, 
automatically restart and then boot normally with fully functioning networking.,
2021-10-19 01:35:25 +01:00
Martin Wimpress
45457c8808 Replace the use of which with command -v 2021-10-18 16:35:48 +01:00
Martin Wimpress
d785c89a38 Add distro, kernel and CPU details to start up messages. Close #96 2021-10-18 16:26:48 +01:00
Martin Wimpress
c3b3f4ee86 Get partial USB SPICE redirection working on macOS. Close #120 2021-10-18 15:33:06 +01:00
Martin Wimpress
2009ffc103
Bump version to 2.2.5 2021-10-16 11:33:57 +01:00
Yannick Mauray
448e8885e7 Unable to start a linux VM.
```
qemu-system-x86_64: -device virtio-vga,xres=,yres=: Parameter 'xres' expects uint64
```

This fixes a typo in the name of the variable used to determine a sane resolution for linux guests.
2021-10-16 10:58:56 +01:00
Martin Wimpress
f75c7f402b
Correct status message for killing VMs 2021-10-15 02:46:15 +01:00
Martin Wimpress
cc397fc088
Only try to coerce the screen resolution of Linux guests
This feature was originally developed for Linux guests. macOS doesn't honur it and not Windows automatically installs all the required drivers it is not required for Windows either.
2021-10-15 02:44:41 +01:00
Martin Wimpress
f3659e760b
Move 9p mount code outside of the SPICE conditional. Close #85 2021-10-13 04:16:46 +01:00
Martin Wimpress
9de5ea19cf
Correct merge error. Close #83 2021-10-13 03:31:10 +01:00
navycatt
018fb1c454
Improvments of port scanning. (#79)
* Fix port scan. Don't send a new line character when scanning.

* Fix port scanning. Possible infinite loop when all range of ports is busy.
Changed port scanning scheme from random to linear because this is the same faster but more predictable.

* Fix port scan. Don't send a new line character when scanning.
echo -n "" for clarity instead of cat < /dev/null

Co-authored-by: navycat <navycat@ultrasparc>
2021-10-09 22:27:47 +01:00
Martin Wimpress
d1afc10857
Detect insufficient RAM for Windows and macOS Close #78
Also changes the RAM allocation for the VM to better attempt a working configuration.
2021-10-09 16:51:30 +01:00
Martin Wimpress
5ad176155f
Actually honour requested disk_size 2021-10-09 16:26:06 +01:00
Martin Wimpress
fe86d970ec
Try to ensure PUBLIC_TAG stays under 31 chars 2021-10-09 15:42:42 +01:00
Martin Wimpress
6bc4c6202a
Make shellcheck happy 2021-10-09 15:41:53 +01:00
Martin Wimpress
4afaf9b21d
l10n for ~/Public 2021-10-09 15:41:13 +01:00
Martin Wimpress
0d5f393b70
Look for OVMF firmware in common locations. Close #74 Close #75 2021-10-09 15:28:26 +01:00
Martin Wimpress
d2d9bc1f1a
Fix deleting EFI VARS when VM deletion is requested 2021-10-09 15:27:06 +01:00
Martin Wimpress
6d926d66e9
Fix missing ] 2021-10-09 15:22:18 +01:00
Martin Wimpress
6f49efee2f
Correct Samba sharing to use ${PUBLIC} 2021-10-09 14:34:22 +01:00
Martin Wimpress
45b09c1f5e
Bump version to 2.2.4 2021-10-09 14:32:30 +01:00
Martin Wimpress
fd52be1dfb
Do not expose any file sharing if ${PUBLIC} is not set. 2021-10-09 14:32:06 +01:00
Martin Wimpress
ec89223b22
Reinstate sharing ~/Public is smbd is available. Close #76
This is a "bonus item". Samba, specifically smbd, is not a hard requirement of Quickemu, but if present quickemu will enable Samba file sharing.
2021-10-09 14:30:21 +01:00
Martin Wimpress
ca9c01eec2
Bump version to 2.2.3 2021-10-08 15:09:17 +01:00
Martin Tournoij
061c454a82 Deal with systems without xdg-user-dir better
My system doesn't have xdg-user-dir, and shows the following errors on
startup:

	./quickemu: line 828: xdg-user-dir: command not found
	mkdir: cannot create directory '': No such file or directory
	basename: missing operand
	Try 'basename --help' for more information.

	Usage
	quickemu --vm ubuntu.conf

	You can also pass optional parameters
	--delete                : Delete the disk image.
	--display               : Select display backend. 'sdl' (default), 'gtk' or 'spice'
	--shortcut              : Create a desktop shortcut
	--snapshot apply <tag>  : Apply/restore a snapshot.
	--snapshot create <tag> : Create a snapshot.
	--snapshot delete <tag> : Delete a snapshot.
	--snapshot info         : Show disk/snapshot info.
	--status-quo            : Do not commit any changes to disk/snapshot.
	--fullscreen            : Starts VM in full screen mode (Ctl+Alt+f to exit)
	--screen <screen>       : Use specified screen to determine the window size.
	--version               : Print version

From a quick look it should still function correctly, but better to deal
with this case explicitly.

It's only used to get the PUBLIC, which is optional anyway. If I install
it then it just returns ~, at which point it's set to "" anyway.

I also removed it from the list of "requirements" for this reason.

This also deals with an edge case I happened to notice: "xdg-user-dir
PUBLICSHARE" returns "/home/martin/" on my system, whereas $HOME is
"/home/martin", so the equality check fails. This is arguable a problem
in xdg-user-dir, but better to fix it here. This only deals with a
single slash (multiple slashes is harder in bash), which should be
sufficient.
2021-10-08 14:50:45 +01:00
Edward Betts
6332e037a0 Correct a spelling mistake 2021-10-08 14:48:48 +01:00
Martin Wimpress
d7e2407bc9
Correct typo 2021-10-08 02:42:08 +01:00
Martin Wimpress
632f1c682c
Bump version to 2.2.2 2021-10-08 02:04:50 +01:00
Martin Wimpress
d191d0da44
Add unattended configuration for Windows 10 and 11
Automates some of the install/configuration steps for Windows 10 and 11, most notably essential drivers and disk formatting.
2021-10-08 02:04:30 +01:00
Martin Wimpress
8106026fd0
Use usb-mouse instead of usb-tablet on FreeBSD 2021-10-07 21:57:22 +01:00
Martin Wimpress
4d8e619988
FreeBSD 12 and 13, like Linux, both fully support VirtIO
Treat FreeBSD like Linux for basic optimisation.
2021-10-07 20:29:47 +01:00
Martin Wimpress
5e5b68f4f4
Bump version to 2.2.1 2021-10-07 16:11:58 +01:00
Martin Wimpress
d49bcb3452
Always boot macOS via OpenCore 2021-10-07 16:05:10 +01:00
Martin Wimpress
7553e77b11
Improve disk used heuristics. Disk preallocation is disabled by default (again) 2021-10-07 15:56:06 +01:00
Martin Wimpress
fcc050ed82
When deleting a disk, also remove the EFI vars 2021-10-07 15:54:24 +01:00
Martin Wimpress
90669add62
Bump version to 2.2.0 2021-10-06 11:01:53 +01:00
Martin Wimpress
023185291e
Add TPM support. 2021-10-06 11:01:33 +01:00
Martin Wimpress
a6847d41aa
Refactor topoext 2021-10-05 23:17:17 +01:00
Martin Wimpress
50ce992c1d
Minor clean up 2021-10-05 23:13:59 +01:00
Martin Wimpress
bc0ce93b82
Add topoext for AMD CPUs to enable hyperthreading 2021-10-05 23:13:40 +01:00
Yannick Mauray
ee774d2584 Fixed : problem with the generated shell script. 2021-10-05 20:09:24 +01:00
Martin Wimpress
3e49d4b154
Tidy MAC_BOOTLOADER 2021-10-05 00:17:51 +01:00
Martin Wimpress
1bce0374f4
Change $disk to $disk_size 2021-10-05 00:03:03 +01:00
Martin Wimpress
021e176026
Indentation correction 2021-10-05 00:02:21 +01:00
Martin Wimpress
9ac49a94d2
Make nested case statements easier to follow 2021-10-05 00:01:51 +01:00
Martin Wimpress
199952a13e
Replace PID in message with force kill details 2021-10-04 23:52:13 +01:00
Martin Wimpress
2fe80e1fe5
Check CPU capabilities, don't assume. 2021-10-04 23:47:37 +01:00
Martin Wimpress
0a56dea565
Add check_cpu_flag() 2021-10-04 23:46:43 +01:00
Martin Wimpress
62fb6690db
Minor refactor of macOS DISPLAY_DEVICE 2021-10-04 22:25:29 +01:00
Martin Wimpress
faf38a2f5d
Refactor CPU/SMP configuration to reflect host CPU sockets and threads 2021-10-04 22:24:37 +01:00
Martin Wimpress
1c53d86004
Consolidate start up status messages 2021-10-04 22:19:37 +01:00
Martin Wimpress
9611080f50
Correct MAC_DISK_DEV 2021-10-04 22:15:15 +01:00
Martin Wimpress
bd3b24ee71
Refactor DISPLAY_DEVICE for Linux guests 2021-10-04 17:50:19 +01:00