Commit Graph

194 Commits

Author SHA1 Message Date
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
Martin Wimpress e6c7603864
Tweak DISPLAY_DEVICE based on macOS release
Do not try and coerce the screen resolution on macOS. Resolution is defined via System Preferences only on macOS. 

qxl is the display device on Catalina and Big Sur and VGA is used on Mahave and High Sierra.

bochs-display also appears to work correctly on Big Sur providing the QEMU moniotor is set to none, which Quickemu does by default.
2021-10-04 17:49:37 +01:00
Martin Wimpress 2a344f6fad
Add -no-hpet to macOS guest configurations 2021-10-04 17:35:07 +01:00
Martin Wimpress 561d04a2b5
Add macos_release VM configuration variable. Tune macOS based on release
Tune Qemu optimisations based on the macOS release, or fallback to lowest common supported options if macos_release is not specified.
2021-10-04 17:34:31 +01:00
Martin Wimpress c240a17bda
Correctly disable mixing-engine for audio output
Add a note to the README that audio is not working at all on macOS Big Sur
2021-10-04 17:29:47 +01:00
Martin Wimpress faeefcfb50
Always expose virtio-rng-pci
macOS Big Sur support virtio-rng-pci, so always expose it for simplicity as it doesn't matter if the guest OS doesn't support the device
2021-10-04 17:27:49 +01:00
Martin Wimpress 82f28a83ee
Correct disk order and boot priorities
Optimise disk performance where possible and use consistent drive ids for all boot environments.
2021-09-30 19:03:28 +01:00
Martin Wimpress d6cbcf29ee
Don't honour --status-quo when boot macOS recovery 2021-09-30 19:00:42 +01:00